|
@@ -0,0 +1,54 @@
|
|
|
+package com.gis.service.impl;
|
|
|
+
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.gis.common.exception.BaseRuntimeException;
|
|
|
+import com.gis.domain.dto.BathSaveWorkExplanationDto;
|
|
|
+import com.gis.domain.dto.WorkExplanationDto;
|
|
|
+import com.gis.domain.entity.WorkExplanation;
|
|
|
+import com.gis.mapper.WorkExplanationMapper;
|
|
|
+import com.gis.service.WorkExplanationService;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 作品场景讲解 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author
|
|
|
+ * @since 2024-04-22
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class WorkExplanationServiceImpl extends ServiceImpl<WorkExplanationMapper, WorkExplanation> implements WorkExplanationService {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void bathSaveWorkExplanation(BathSaveWorkExplanationDto dto) {
|
|
|
+
|
|
|
+ if(CollUtil.isEmpty(dto.getList())){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<Long> idList = dto.getList().stream().filter(v -> Objects.nonNull(v.getId())).map(v -> v.getId()).collect(Collectors.toList());
|
|
|
+ if(CollUtil.isNotEmpty(idList)){
|
|
|
+ long count = this.count(new LambdaQueryWrapper<WorkExplanation>().eq(WorkExplanation::getWorkId, dto.getWorkId()).in(WorkExplanation::getId, idList));
|
|
|
+ if(count != idList.size()){
|
|
|
+ throw new BaseRuntimeException("数据不正确");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ List<WorkExplanation> workExplanations = BeanUtil.copyToList(dto.getList(), WorkExplanation.class);
|
|
|
+ workExplanations.stream().forEach(v -> {
|
|
|
+ v.setWorkId(dto.getWorkId());
|
|
|
+ v.setUpdateTime(new Date());
|
|
|
+ });
|
|
|
+
|
|
|
+ this.saveOrUpdateBatch(workExplanations);
|
|
|
+ }
|
|
|
+}
|