package com.ycl.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.ycl.domain.entity.ProcessConfigInfo; import com.ycl.mapper.ProcessConfigInfoMapper; import com.ycl.service.ProcessConfigInfoService; import com.ycl.common.base.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.domain.form.ProcessConfigInfoForm; import com.ycl.domain.vo.ProcessConfigInfoVO; import com.ycl.domain.query.ProcessConfigInfoQuery; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import com.ycl.framework.utils.PageUtil; import org.springframework.beans.BeanUtils; import org.springframework.util.Assert; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * 流程类型配置信息表 服务实现类 * * @author xp * @since 2024-11-26 */ @Service @RequiredArgsConstructor public class ProcessConfigInfoServiceImpl extends ServiceImpl implements ProcessConfigInfoService { private final ProcessConfigInfoMapper processConfigInfoMapper; /** * 添加 * @param form * @return */ @Override public Result save(ProcessConfigInfoForm form) { // 根据部署id和版本号查询是否保存过,有就修改,没有就新增 ProcessConfigInfo entity = new LambdaQueryChainWrapper<>(baseMapper) .eq(ProcessConfigInfo::getDeployId, form.getDeployId()) .eq(ProcessConfigInfo::getDeployVersion, form.getDeployVersion()) .one(); if (Objects.isNull(entity)) { entity = ProcessConfigInfoForm.getEntityByForm(form, null); baseMapper.insert(entity); } else { new LambdaUpdateChainWrapper<>(baseMapper) .eq(ProcessConfigInfo::getDeployId, form.getDeployId()) .eq(ProcessConfigInfo::getDeployVersion, form.getDeployVersion()) .set(ProcessConfigInfo::getProjectType, form.getProjectType()) .set(ProcessConfigInfo::getFundType, form.getFundType()) .set(ProcessConfigInfo::getInvestType, form.getInvestType()) .set(ProcessConfigInfo::getImportanceType, form.getImportanceType()) .update(); } return Result.ok("保存成功"); } /** * 根据id查找 * @param deployId * @return */ @Override public Result detail(String deployId, Integer deployVersion) { ProcessConfigInfo entity = new LambdaQueryChainWrapper<>(baseMapper) .eq(ProcessConfigInfo::getDeployId, deployId) .eq(ProcessConfigInfo::getDeployVersion, deployVersion) .one(); ProcessConfigInfoVO vo = new ProcessConfigInfoVO(); if (Objects.isNull(entity)) { return Result.ok().data(entity); } else { BeanUtils.copyProperties(entity, vo); } return Result.ok().data(vo); } }