xiangpei
2024-04-07 1d14ba39daf0422199c44b5b2ffc67d2364b2be2
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -1,7 +1,16 @@
package com.ycl.platform.service.impl;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.ycl.platform.base.BaseSelect;
import com.ycl.platform.domain.entity.Region;
import com.ycl.platform.domain.entity.YwPeople;
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.RegionMapper;
import com.ycl.platform.mapper.YwPeopleMapper;
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;
@@ -11,22 +20,23 @@
import com.ycl.platform.domain.query.YwPointQuery;
import java.util.List;
import com.ycl.system.entity.SysDept;
import com.ycl.system.entity.SysUser;
import com.ycl.system.service.ISysDeptService;
import org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
import org.springframework.beans.factory.annotation.Autowired;
import com.ycl.utils.SecurityUtils;
import enumeration.general.RegionLevelEnum;
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;
/**
 * 运维点位 服务实现类
@@ -39,10 +49,11 @@
public class YwPointServiceImpl extends ServiceImpl<YwPointMapper, YwPoint> implements YwPointService {
    private final YwPointMapper ywPointMapper;
    @Autowired
    private ISysDeptService deptService;
    @Autowired
    private YwUnitService unitService;
    private final ISysDeptService deptService;
    private final YwUnitService unitService;
    private final YwUnitMapper ywUnitMapper;
    private final RegionMapper regionMapper;
    private final YwPeopleMapper ywPeopleMapper;
    /**
     * 添加
@@ -68,6 +79,27 @@
                    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("修改成功");
    }
    /**
@@ -124,6 +156,7 @@
    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));
@@ -166,4 +199,29 @@
                .collect(Collectors.toList());
        return Result.ok().data(vos);
    }
    @Override
    public Result select(String keyword) {
        Long userId = SecurityUtils.getUserId();
        // 获取当前运维人员的运维单位
        YwPeople people = new LambdaQueryChainWrapper<>(ywPeopleMapper)
                .eq(YwPeople::getUserId, userId)
                .one();
        Integer unitId = null;
        if (Objects.nonNull(people)) {
            unitId = people.getBelongUnit();
        }
        List<Region> list = new LambdaQueryChainWrapper<>(regionMapper)
                .eq(Region::getRegionLevel, RegionLevelEnum.STREET)
                .like(Region::getFullName, keyword)
                .list();
        List<BaseSelect> data = list.stream().map(item -> {
            BaseSelect baseSelect = new BaseSelect();
            baseSelect.setId(item.getId());
            baseSelect.setValue(item.getFullName());
            return baseSelect;
        }).collect(Collectors.toList());
        return Result.ok().data(data);
    }
}