From a094dc5c386f324c464710b85b247a12ca58f545 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Sat, 2 Apr 2022 15:29:37 +0800 Subject: [PATCH] feat: There is no way the, bug #52376 --- .../impl/QualityEvaluationServiceImpl.java | 79 +++++++++++++------ 1 file changed, 57 insertions(+), 22 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java index 2870317a..dc5e076a 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarEnterpriseStandardEvaluation/service/impl/QualityEvaluationServiceImpl.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.collections.IterableMap; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -43,30 +44,61 @@ public class QualityEvaluationServiceImpl extends ServiceImpl{ - if ("dynamic".equals(form.getEvaluationType())){ - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("law_id",form.getLawId()) //清除此用户在动态评分中已存在的评分 - .eq("user_id",form.getUserId()) - .eq("evaluation_type","dynamic"); - this.remove(queryWrapper); - } - }); +// Optional.ofNullable(form.getEvaluationType()) +// .ifPresent( item->{ +// if ("dynamic".equals(form.getEvaluationType())){ +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("law_id",form.getLawId()) //清除此用户在动态评分中已存在的评分 +// .eq("user_id",form.getUserId()) +// .eq("evaluation_type","dynamic"); +// this.remove(queryWrapper); +// } +// }); + QueryWrapper qw = new QueryWrapper(); + qw.eq("law_id",form.getLawId()); + qw.eq("evaluation_type","dynamic"); + List list = this.baseMapper.selectList(qw); + List tableData = form.getTableData(); - tableData.forEach(item->{ - item.setCreateTime(new Date()); - item.setModifyTime(new Date()); - item.setId( UUIDUtils.randomUUID20()); - if ("number".equals(item.getValueType()) ){ - item.setScore(String.valueOf (Double.valueOf(item.getScore()) * 2) ); + if(!list.isEmpty()){ + List updSetList = tableData.stream() + .map(upObj -> list.stream() + .filter(stateQueryObj -> upObj.getEvaluationIndex().equals(stateQueryObj.getEvaluationIndex())) + .findFirst() + .map(stateQueryObj -> { + // 集合交集 stream 重新赋值更新字段 + upObj.setId(stateQueryObj.getId()); + upObj.setCreateTime(new Date()); + upObj.setModifyTime(new Date()); + if ("number".equals(upObj.getValueType()) ){ + upObj.setScore(String.valueOf (Double.parseDouble(upObj.getScore()) * 2) ); + } + if(StringUtils.isNotBlank(upObj.getReason())){ + upObj.setReason(upObj.getReason()); + }else { + upObj.setReason("-"); + } + return upObj; + }).orElse(null)) + .collect(Collectors.toList()); - } - }); - return this.saveBatch(tableData); + return this.updateBatchById(updSetList); + }else { + tableData.forEach(item->{ + + item.setCreateTime(new Date()); + item.setModifyTime(new Date()); + item.setId( UUIDUtils.randomUUID20()); + if ("number".equals(item.getValueType()) ){ + item.setScore(String.valueOf (Double.parseDouble(item.getScore()) * 2) ); + + } + }); + return this.saveBatch(tableData); + } } @Override @@ -170,13 +202,16 @@ public class QualityEvaluationServiceImpl extends ServiceImpl