fuliqi
2024-11-01 b91945ea32378a71d1e57356af6e16703a1ceaa7
ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java
@@ -8,20 +8,25 @@
import com.ycl.platform.domain.form.NotifyForm;
import com.ycl.platform.domain.vo.NotifyVO;
import com.ycl.platform.domain.query.NotifyQuery;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
import com.ycl.utils.SecurityUtils;
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;
/**
 * 通知 服务实现类
@@ -43,6 +48,9 @@
    @Override
    public Result add(NotifyForm form) {
        Notify entity = NotifyForm.getEntityByForm(form, null);
        Date now = new Date();
        entity.setCreateTime(now);
        entity.setUpdateTime(now);
        if(baseMapper.insert(entity) > 0) {
            return Result.ok("添加成功");
        }
@@ -58,10 +66,11 @@
    public Result update(NotifyForm form) {
        Notify entity = baseMapper.selectById(form.getId());
        // 为空抛IllegalArgumentException,做全局异常处理
        Assert.notNull(entity, "记录不存在");
        BeanUtils.copyProperties(form, entity);
        Date now = new Date();
        entity.setUpdateTime(now);
        if (baseMapper.updateById(entity) > 0) {
            return Result.ok("修改成功");
        }
@@ -101,17 +110,34 @@
     */
    @Override
    public Result page(NotifyQuery query) {
        IPage<Notify> page = new LambdaQueryChainWrapper<>(baseMapper)
                .orderByDesc(Notify::getCreateTime)
                .page(PageUtil.getPage(query, Notify.class));
        List<NotifyVO> vos = page.getRecords().stream()
                .map(
                        entity -> NotifyVO.getVoByEntity(entity, null)
                )
                .collect(Collectors.toList());
        return Result.ok().data(vos).total(page.getTotal());
        IPage<Notify> page = PageUtil.getPage(query, Notify.class);
        // 如果是单位管理员:查询单位通知
        if (SecurityUtils.getLoginUser().getUnitAdmin()) {
            new LambdaQueryChainWrapper<>(baseMapper)
                    .between(Objects.nonNull(query.getEnd()) && Objects.nonNull(query.getStart()),
                            Notify::getCreateTime,
                            query.getStart(),
                            query.getEnd())
                    .eq(StringUtils.hasText(query.getWorkOrderNo()), Notify::getWorkOrderNo, query.getWorkOrderNo())
                    .eq(Notify::getNotifyUnit, SecurityUtils.getLoginUser().getUnitId())
                    .orderByDesc(Notify::getCreateTime)
                    .page(page);
        } else {
            // 如果是单位人员:查询自己的通知
            new LambdaQueryChainWrapper<>(baseMapper)
                    .between(Objects.nonNull(query.getEnd()) && Objects.nonNull(query.getStart()),
                            Notify::getCreateTime,
                            query.getStart(),
                            query.getEnd())
                    .eq(StringUtils.hasText(query.getWorkOrderNo()), Notify::getWorkOrderNo, query.getWorkOrderNo())
                    .eq(Notify::getNotifyUser, SecurityUtils.getLoginUser().getUnitId())
                    .orderByDesc(Notify::getCreateTime)
                    .page(page);
        }
        List<NotifyVO> result = page.getRecords().stream().map(entity -> {
            return NotifyVO.getVoByEntity(entity, null);
        }).collect(Collectors.toList());
        return Result.ok().data(result).total(page.getTotal());
    }
    /**