xiangpei
2024-03-18 5719d901b424f3b9b60f46731e7b1cd607dae733
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -1,27 +1,37 @@
package com.ycl.platform.service.impl;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.platform.domain.entity.YwPoint;
import com.ycl.platform.domain.entity.YwUnit;
import com.ycl.platform.domain.form.BatchEditPointForm;
import com.ycl.platform.mapper.YwPointMapper;
import com.ycl.platform.mapper.YwUnitMapper;
import com.ycl.platform.service.YwPointService;
import com.ycl.platform.service.YwUnitService;
import com.ycl.system.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.form.YwPointForm;
import com.ycl.platform.domain.vo.YwPointVO;
import com.ycl.platform.domain.query.YwPointQuery;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import com.ycl.system.entity.SysDept;
import com.ycl.system.service.ISysDeptService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.util.StringUtils;
/**
 * 运维点位 服务实现类
@@ -34,6 +44,11 @@
public class YwPointServiceImpl extends ServiceImpl<YwPointMapper, YwPoint> implements YwPointService {
    private final YwPointMapper ywPointMapper;
    @Autowired
    private ISysDeptService deptService;
    @Autowired
    private YwUnitService unitService;
    private final YwUnitMapper ywUnitMapper;
    /**
     * 添加
@@ -47,6 +62,39 @@
            return Result.ok("添加成功");
        }
        return Result.error("添加失败");
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result batchAdd(List<YwPointForm> formList) {
        formList.stream()
                .forEach(form -> {
                    YwPoint entity = YwPointForm.getEntityByForm(form, null);
                    entity.setStatus("未开始");
                    baseMapper.insert(entity);
                });
        return Result.ok("添加成功");
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Result batchEdit(BatchEditPointForm form) {
        if (Objects.nonNull(form.getUnitId())) {
            new LambdaUpdateChainWrapper<>(baseMapper)
                    .in(YwPoint::getId, form.getIds())
                    .set(YwPoint::getUnitId, form.getUnitId())
                    .set(YwPoint::getStartTime, form.getStartTime())
                    .set(YwPoint::getEndTime, form.getEndTime())
                    .update();
        } else {
            new LambdaUpdateChainWrapper<>(baseMapper)
                    .in(YwPoint::getId, form.getIds())
                    .set(YwPoint::getUnitId, form.getUnitId())
                    .set(YwPoint::getStartTime, null)
                    .set(YwPoint::getEndTime, null)
                    .update();
        }
        return Result.ok("修改成功");
    }
    /**
@@ -103,14 +151,18 @@
    public Result page(YwPointQuery query) {
        IPage<YwPoint> page = new LambdaQueryChainWrapper<>(baseMapper)
                .like(StringUtils.hasText(query.getPointName()), YwPoint::getPointName, query.getPointName())
                .orderByDesc(YwPoint::getCreateTime)
                .page(PageUtil.getPage(query, YwPoint.class));
        List<YwPointVO> vos = page.getRecords().stream()
                .map(
                        entity -> YwPointVO.getVoByEntity(entity, null)
                                .setDeptName(deptService.selectDeptById(entity.getDeptId()).getDeptName())
                                .setUnitName(unitService.getById(entity.getUnitId()).getUnitName())
                )
                .collect(Collectors.toList());
        return Result.ok().data(vos).total(page.getTotal());
    }