/**
* Copyright © 2012-2016 JeeSite All rights reserved.
*/
package com.wechat.dao;
import com.wechat.global.base.dao.Pagination;
import com.wechat.global.base.dao.PagingResult;
import com.wechat.global.base.dao.impl.BaseDao;
import com.wechat.model.dbEntity.MdeJobAdvertised;
import com.wechat.model.dbEntity.MdeJobAdvertisedEntity;
import com.wechat.model.dbEntity.MdeJobInvitationRel;
import com.wechat.model.dto.AvailableAndUsedCountDto;
import com.wechat.model.dto.JobAdvertisedListDto;
import com.wechat.model.dto.JobRepFormPvDto;
import com.wechat.model.dto.ShowOfJobsDto;
import com.wechat.model.responseDto.JobAdvertisedNologinResp;
import com.wechat.model.responseDto.JobAdvertisedRes;
import com.wechat.model.responseDto.JobAdvertisedResp;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 单表生成DAO接口
*
* @author tangwc
* @version 2018-05-23
*/
@Repository
public class MdeJobAdvertisedDao extends BaseDao {
public MdeJobAdvertised getInfoById(int id, String lang) {
Map map = new HashMap();
map.put("id", id);
map.put("lang", lang);
return super.selectOne("MdeJobAdvertisedMapper.get", map);
}
public MdeJobAdvertisedEntity getJobAdvertisedById(int id) {
Map map = new HashMap();
map.put("id", id);
return super.selectOne("MdeJobAdvertisedMapper.getInfoById", map);
}
/**
* 根据id查询全部相关职位的详情
*
* @param id
* @param lang
* @return
*/
public List getInfoByIds(List idList) {
Map map = new HashMap();
map.put("idList", idList);
return super.select("MdeJobAdvertisedMapper.getInfoByIds", map);
}
/**
* 获取推荐职位
*
* @param limi
* @return
*/
public List getRecommentJobs(int limitSize) {
return super.select("MdeJobAdvertisedMapper.getRecommentJobs", limitSize);
}
/**
* 获取推荐职位-分页查询
*
* @param limi
* @return
*/
public PagingResult getPagingRecommentJobs(Pagination page) {
return super.selectPagination("MdeJobAdvertisedMapper.getPagingRecommentJobs", "MdeJobAdvertisedMapper.getPagingRecommentJobsCount", page);
}
/**
* 优选职位
*
* @param userCode
* @param recommentJobsLimitSize
* @return
*/
/* public List getRecommentJobs(String userCode, int recommentJobsLimitSize) {
Map map = new HashMap();
map.put("userCode", userCode);
map.put("limitSize", recommentJobsLimitSize);
return super.select("MdeJobAdvertisedMapper.getRecommentJobsByUserCode", map);
}*/
/**
* 优选职位
*
* @param userCode
* @param lang
* @param limitSize
* @return
*/
/*public List getSuperiorJobs(String userCode, String lang, int limitSize) {
Map map = new HashMap();
map.put("userCode", userCode);
map.put("lang", lang);
map.put("limitSize", limitSize);
return super.select("MdeJobAdvertisedMapper.getSuperiorJobs", map);
}*/
/**
* 职位搜索
*
* @param page
* @return
*/
public PagingResult searchJob(Pagination page) {
return super.selectPagination("MdeJobAdvertisedMapper.searchJob", "MdeJobAdvertisedMapper.searchJobCount", page);
}
/**
* 职位搜索
*
* @param page
* @return
*/
public PagingResult searchPositionByKeyWord(Pagination page) {
return super.selectPagination("MdeJobAdvertisedMapper.searchPositionByKeyWord", "MdeJobAdvertisedMapper.searchPositionByKeyWordCount", page);
}
/**
* 职位搜索 (未登录)
*
* @param page
* @return
*/
public List searchJobNotLogin(Map param) {
return sqlSession.selectList("MdeJobAdvertisedMapper.searchJobNotLogin", param);
}
/**
* 获取相似职位
*
* @param jobId
* @return
*/
public List getSimilarJobs(int jobId, int limitSize) {
Map map = new HashMap();
map.put("jobId", jobId);
map.put("limitSize", limitSize);
return super.select("MdeJobAdvertisedMapper.getSimilarJobs", map);
}
/**
* 酒店的其他职位
*
* @param jobId
* @return
*/
public List gethotelOtherPositionList(int jobId, String publisher, int limitSize) {
Map map = new HashMap();
map.put("jobId", jobId);
map.put("publisher", publisher);
map.put("limitSize", limitSize);
return super.select("MdeJobAdvertisedMapper.gethotelOtherPositionList", map);
}
public int insert(MdeJobAdvertised mdeJobAdvertised) {
return super.insert("MdeJobAdvertisedMapper.insert", mdeJobAdvertised);
}
/**
* 获取 企业正在招聘的职位
*
* @param publisher
* @return
*/
public List getByPublisher(String publisher) {
return super.select("MdeJobAdvertisedMapper.getAdvertisedRecruitment", publisher);
}
/**
* 获取已经投递过职位的用户code
*
* @param publisher
* @return
*/
public List getAlreadyAdvertisedByJobId(String publisher) {
return super.select("MdeJobAdvertisedMapper.getAlreadyAdvertisedByJobId", publisher);
}
/**
* 查看该企业是否发布某个职位
*
* @return
*/
public MdeJobAdvertised findByPublisherAndJobId(MdeJobInvitationRel mdeJobInvitationRel) {
return super.selectOne("MdeJobAdvertisedMapper.findByPublisherAndJobId", mdeJobInvitationRel);
}
public int updateJobAdvertisedStatus(Map maps) {
return sqlSession.update("MdeJobAdvertisedMapper.updateJobAdvertisedStatus", maps);
}
public List getAdvertisedRecruitment(String userCode) {
return super.select("MdeJobAdvertisedMapper.getAdvertisedRecruitment", userCode);
}
/**
* 更新职位首推状态
*/
public int updateJobRecommend(Map maps) {
return sqlSession.update("MdeJobAdvertisedMapper.updateJobRecommend", maps);
}
/**
* 更新招聘职位信息表
*
* @param mdeJobAdvertised
* @return
*/
public int update(MdeJobAdvertised mdeJobAdvertised) {
return super.update("MdeJobAdvertisedMapper.update", mdeJobAdvertised);
}
public List getCollectionJobList(String[] jobListStr, String lang) {
Map map = new HashMap();
map.put("jobListStr", jobListStr);
map.put("lang", lang);
return super.select("MdeJobAdvertisedMapper.getCollectionJobList", map);
}
/**
* 查询投递该公司的总简历数
*
* @param userCode 企业code
* @return
*/
public int getAllUserCvCount(String userCode) {
return super.count("MdeJobAdvertisedMapper.getAllUserCvCount", userCode);
}
/**
* 获取邀请面试简历数量
*
* @param userCode 企业code
* @return
*/
public int inviteAuditionCount(String userCode) {
return super.count("MdeJobAdvertisedMapper.inviteAuditionCount", userCode);
}
/**
* 获取指定企业新简历数量
*
* @param userCode 企业code
* @return
*/
public int getNewCvCountByPublisher(String userCode) {
return super.count("MdeJobAdvertisedMapper.getNewCvCountByPublisher", userCode);
}
/**
* 录用简历数量
*
* @param userCode 企业code
* @return
*/
public int matriculateUserCvCount(String userCode) {
return super.count("MdeJobAdvertisedMapper.matriculateUserCvCount", userCode);
}
/**
* 淘汰简历数量
*
* @param userCode 企业code
* @return
*/
public int eliminateUserCvCount(String userCode) {
return super.count("MdeJobAdvertisedMapper.eliminateUserCvCount", userCode);
}
/**
* 已发布信息
*
* @param userCode
* @return
*/
public PagingResult alreadyPublish(Pagination page) {
return super.selectPagination("MdeJobAdvertisedMapper.alreadyPublish",
"MdeJobAdvertisedMapper.alreadyPublishCount", page);
}
/**
* @param page
* @return PagingResult
* @description 已发职位关键词检索
* @author rayson
* @date 2023-09-12 14:52
**/
public PagingResult searchAlreadyPublishByKeyWord(Pagination page) {
return super.selectPagination("MdeJobAdvertisedMapper.searchAlreadyPublishByKeyWord",
"MdeJobAdvertisedMapper.searchAlreadyPublishByKeyWordCount", page);
}
/**
* 已发布职位个数
*
* @param userCode
* @return
*/
public int alreadyPublishNotVipCount(String userCode, String jobStatus) {
Map