package com.sqx.modules.myCollection.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.sqx.common.utils.Result; import com.sqx.modules.app.service.UserService; import com.sqx.modules.app.vo.ResumesBrowseVo; import com.sqx.modules.app.vo.UserPostPushBrowseVo; import com.sqx.modules.myCollection.entity.MyCollection; import com.sqx.modules.myCollection.dao.MyCollectionDao; import com.sqx.modules.myCollection.service.MyCollectionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sqx.modules.resumes.dao.ResumesDao; import com.sqx.modules.resumes.entity.PostPush; import com.sqx.modules.resumes.entity.Resumes; import com.sqx.modules.resumes.entity.ResumesDetails; import com.sqx.modules.resumes.entity.ResumesListDto; import com.sqx.modules.resumes.service.CompanyService; import com.sqx.modules.resumes.service.PostPushService; import com.sqx.modules.resumes.service.ResumesDetailsService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime; /** *

* 服务实现类 *

* * @author www.javacoder.top * @since 2023-01-17 */ @Service public class MyCollectionServiceImpl extends ServiceImpl implements MyCollectionService { @Autowired private UserService userService; @Autowired private PostPushService postPushService; @Autowired private ResumesDetailsService resumesDetailsService; @Autowired private MyCollectionService myCollectionService; @Autowired private ResumesDao resumesDao; @Override public Result saveCollection(MyCollection collection) { QueryWrapper wrapper = new QueryWrapper().eq("user_id", collection.getUserId()); if (collection.getType() == 1) { wrapper.eq("post_push_id", collection.getPostPushId()); } else { wrapper.eq("resumes_id", collection.getResumesId()); } MyCollection myCollection = baseMapper.selectOne(wrapper); if (myCollection != null) { baseMapper.deleteById(myCollection.getCollectionId()); return Result.success("取消收藏成功"); } collection.setCreateTime(LocalDateTime.now()); baseMapper.insert(collection); return Result.success("收藏成功"); } @Override public IPage getMyCollectionList(Integer page, Integer limit, MyCollection collection) { Page pages; if (page != null && limit != null) { pages = new Page<>(page, limit); } else { pages = new Page<>(); pages.setSize(-1); } IPage selectPage = baseMapper.selectPage(pages, new QueryWrapper<>(collection).orderByDesc("create_time")); for (MyCollection record : selectPage.getRecords()) { record.setUserEntity(userService.getById(collection.getUserId())); record.setPostPush(postPushService.getById(collection.getPostPushId())); } return selectPage; } @Override public IPage getCompanyCollectionList(Integer page, Integer limit, MyCollection collection, Resumes resumes, Long userId) { Page pages; if (page != null && limit != null) { pages = new Page<>(page, limit); } else { pages = new Page<>(); pages.setSize(-1); } // String[] resumesCompensation = StringUtils.isNotBlank(resumes.getResumesCompensation()) ? resumes.getResumesCompensation().split(",") : null; // String[] resumesEducation = StringUtils.isNotBlank(resumes.getResumesEducation()) ? resumes.getResumesEducation().split(",") : null; // String[] resumesWorkExperience = StringUtils.isNotBlank(resumes.getResumesWorkExperience()) ? resumes.getResumesWorkExperience().split(",") : null; // String[] industryName = StringUtils.isNotBlank(resumes.getIndustryName()) ? resumes.getIndustryName().split(",") : null; // IPage companyCollectionList = baseMapper.getCompanyCollectionList(pages, collection, resumes, resumesCompensation, resumesEducation, resumesWorkExperience, industryName); // for (ResumesBrowseVo record : companyCollectionList.getRecords()) { // record.setResumesCompanyList(resumesDetailsService.list(new QueryWrapper().eq("resumes_id", record.getResumesId()).eq("resumes_classify", 1))); // // } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("user_id",userId).eq("type",2); IPage companyCollectionList =myCollectionService.getBaseMapper().selectPage(pages,queryWrapper); for (MyCollection c : companyCollectionList.getRecords()){ ResumesListDto resumesListDto = new ResumesListDto(); resumesListDto.setResumesId(Long.valueOf(c.getResumesId())); c.setResumesListDto(resumesDao.selectResumesListHr(resumesListDto)); } return companyCollectionList; } @Override public IPage getMyCollectionListV2(Integer page, Integer limit, MyCollection collection, PostPush postPush) { Page pages; if (page != null && limit != null) { pages = new Page<>(page, limit); } else { pages = new Page<>(); pages.setSize(-1); } String[] industry = StringUtils.isNotBlank(postPush.getIndustry()) ? postPush.getIndustry().split(",") : null; String[] education = StringUtils.isNotBlank(postPush.getEducation()) ? postPush.getEducation().split(",") : null; String[] experience = StringUtils.isNotBlank(postPush.getExperience()) ? postPush.getExperience().split(",") : null; String[] companyPeople = StringUtils.isNotBlank(postPush.getCompanyPeople()) ? postPush.getCompanyPeople().split(",") : null; String[] salaryRange = StringUtils.isNotBlank(postPush.getSalaryRange()) ? postPush.getSalaryRange().split(",") : null; return baseMapper.getMyCollectionList(pages, collection, postPush, industry, education, experience, companyPeople, salaryRange); } }