DrawLotsGroupItemsServiceImpl.java 2.85 KB
package com.subsidy.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.subsidy.dto.group.AddProjectToSceneDTO;
import com.subsidy.dto.group.AllGroupItemsDTO;
import com.subsidy.dto.group.CollegeProjectsDTO;
import com.subsidy.model.DrawLotsGroupItemsDO;
import com.subsidy.mapper.DrawLotsGroupItemsMapper;
import com.subsidy.service.DrawLotsGroupItemsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.util.ConstantUtils;
import com.subsidy.vo.group.AllGroupItemsVO;
import com.subsidy.vo.group.CollegeProjectsVO;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author Tuyp
 * @since 2025-12-10
 */
@Service
public class DrawLotsGroupItemsServiceImpl extends ServiceImpl<DrawLotsGroupItemsMapper, DrawLotsGroupItemsDO> implements DrawLotsGroupItemsService {

    @Override
    public IPage<AllGroupItemsVO> allGroupItems(AllGroupItemsDTO allGroupItemsDTO) {
        Page page = new Page(allGroupItemsDTO.getPageNum(), allGroupItemsDTO.getPageSize());
        return this.baseMapper.allGroupItems(page,allGroupItemsDTO.getSceneId(), allGroupItemsDTO.getProjectName(), allGroupItemsDTO.getCollege(),allGroupItemsDTO.getGroupId());
    }

    @Override
    public String addProjectToScene(AddProjectToSceneDTO addProjectToSceneDTO) {

        this.baseMapper.delete(new QueryWrapper<DrawLotsGroupItemsDO>()
        .lambda()
        .eq(DrawLotsGroupItemsDO::getGroupId,addProjectToSceneDTO.getGroupId()));

        List<Long> ids = addProjectToSceneDTO.getProjectIds();

        int i = 1 ;

        for (Long id : ids) {
            DrawLotsGroupItemsDO drawLotsGroupItemsDO = new DrawLotsGroupItemsDO();
            drawLotsGroupItemsDO.setProjectId(id);
            drawLotsGroupItemsDO.setSceneId(addProjectToSceneDTO.getSceneId());
            drawLotsGroupItemsDO.setGroupId(addProjectToSceneDTO.getGroupId());
            drawLotsGroupItemsDO.setOrderNo(i++);
            this.baseMapper.insert(drawLotsGroupItemsDO);
        }
        return ConstantUtils.ADD_SUCCESS;
    }

    @Override
    public String deleteGroupItem(DrawLotsGroupItemsDO drawLotsGroupItemsDO) {
        this.baseMapper.deleteById(drawLotsGroupItemsDO.getId());
        return ConstantUtils.DELETE_SUCCESS;
    }

    @Override
    public IPage<CollegeProjectsVO> collegeProjects(CollegeProjectsDTO collegeProjectsDTO) {
        Page page = new Page(collegeProjectsDTO.getPageNum(), collegeProjectsDTO.getPageSize());
        return this.baseMapper.collegeProjects(page,collegeProjectsDTO.getMatchId(), collegeProjectsDTO.getGroupId(), collegeProjectsDTO.getCollege(), collegeProjectsDTO.getProjectSchedule(), collegeProjectsDTO.getProjectProgress());
    }
}