From cb7d99d810f2356096b67fbccd3fac556e638d83 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 22 八月 2024 11:22:56 +0800
Subject: [PATCH] feat:查询条件优化
---
ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java | 35 +++++++++++++++--------------------
1 files changed, 15 insertions(+), 20 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
index c979ea1..9972655 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.platform.domain.entity.CalculateRule;
import com.ycl.platform.domain.entity.ContractScore;
import com.ycl.platform.mapper.CalculateRuleMapper;
import com.ycl.platform.mapper.ContractScoreMapper;
@@ -12,12 +11,12 @@
import com.ycl.system.entity.SysUser;
import com.ycl.utils.SecurityUtils;
import enumeration.general.AuditingStatus;
-import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.Serializable;
import java.util.Arrays;
+import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -46,22 +45,7 @@
*/
@Override
public List<ContractScore> selectDefaultScoreList(ContractScore contractScore) {
- return new LambdaQueryChainWrapper<>(contractScoreMapper)
- .eq(ObjectUtils.isNotEmpty(contractScore.getUnitId()), ContractScore::getUnitId, contractScore.getUnitId())
- .between(ObjectUtils.isNotEmpty(contractScore.getCreateStartTime()), ContractScore::getCreateTime, contractScore.getCreateStartTime(), contractScore.getCreateEndTime())
- .between(ObjectUtils.isNotEmpty(contractScore.getAuditingStartTime()), ContractScore::getAuditingTime, contractScore.getAuditingStartTime(), contractScore.getAuditingEndTime())
- .eq(ObjectUtils.isNotEmpty(contractScore.getAuditingStatus()), ContractScore::getAuditingStatus, contractScore.getAuditingStatus())
- .orderByDesc(ContractScore::getCreateTime)
- .list()
- .stream().peek(
- item -> {
- item.setUnitName(ywunitMapper.selectById(item.getUnitId()).getUnitName());
- item.setContractName(contractMapper.selectById(item.getContractId()).getName());
- item.setRuleIdsArray(Arrays.stream(item.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
- List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper).in(CalculateRule::getId, item.getRuleIdsArray()).list();
- item.setRuleName(String.join(" / ", new String[]{list.get(0).getRuleName(), list.get(1).getRuleDesc(), list.get(2).getRuleCondition()}));
- }
- ).toList();
+ return contractScoreMapper.selectDefaultScoreList(contractScore);
}
@Override
@@ -77,24 +61,35 @@
contractScore.setCreateUserId(user.getUserId());
contractScore.setCreateUser(user.getNickName());
contractScore.setAuditingStatus(AuditingStatus.WAIT);
- contractScore.setDeleted("0");
contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+ contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
+ contractScore.setUpdateTime(new Date());
return super.save(contractScore);
}
@Override
public boolean updateById(ContractScore contractScore) {
contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
+ contractScore.setUpdateTime(new Date());
return super.updateById(contractScore);
}
@Override
public boolean audit(ContractScore contractScore) {
SysUser user = SecurityUtils.getLoginUser().getUser();
- contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
contractScore.setAuditingTime(com.ycl.utils.DateUtils.getNowDate());
contractScore.setAuditingUser(user.getNickName());
contractScore.setAuditingUserId(user.getUserId());
return super.updateById(contractScore);
}
+
+ @Override
+ public List<ContractScore> getDateRangeScoreByContractId(Long id, String startTime, String endTime) {
+ return new LambdaQueryChainWrapper<>(contractScoreMapper)
+ .eq(ContractScore::getContractId, id)
+ .between(ContractScore::getCreateTime, startTime, endTime)
+ .eq(ContractScore::getAuditingStatus, AuditingStatus.PASS)
+ .list();
+ }
+
}
--
Gitblit v1.8.0