1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="MdeJobAdvertisedMapper">
- <resultMap type="com.wechat.model.dbEntity.MdeJobAdvertised" id="MdeJobAdvertised">
- <id column="job_id" property="jobId"/>
- <result column="publisher" property="publisher"/>
- <result column="job_name" property="jobName"/>
- <result column="position_id" property="positionId"/>
- <result column="add_province" property="addProvince"/>
- <result column="add_city" property="addCity"/>
- <result column="add_area" property="addArea"/>
- <result column="add_detail" property="addDetail"/>
- <result column="add_longitude" property="addLongitude"/>
- <result column="add_latitude" property="addLatitude"/>
- <result column="work_experience" property="workExperience"/>
- <result column="education" property="education"/>
- <result column="job_describe" property="jobDescribe"/>
- <result column="job_status" property="jobStatus"/>
- <result column="recommend_flag" property="recommendFlag"/>
- <result column="version_no" property="versionNo"/>
- <result column="remarks" property="remarks"/>
- <result column="del_flag" property="delFlag"/>
- <result column="create_by" property="createBy"/>
- <result column="create_date" property="createDate"/>
- <result column="update_by" property="updateBy"/>
- <result column="update_date" property="updateDate"/>
- <result column="job_requirement" property="jobRequirement"/>
- <result column="job_invitation" property="jobInvitation"/>
- <result column="pay_from" property="payFrom"/>
- <result column="pay_to" property="payTo"/>
- <result column="contact_information" property="contactInformation"/>
- <!-- 酒店名称 -->
- <result column="publisher_name" property="publisherName"/>
- <result column="foreign_name" property="foreignName"/>
- <result column="identity_flag" property="identityFlag"/>
- <result column="RECOMMEND_FLAG" property="recommendFlag"/>
- <result column="PREPARE_FLAG" property="prepareFlag"/>
- <result column="PREPARE_YEAR" property="prepareYear"/>
- <result column="PREPARE_QUARTER" property="prepareQuarter"/>
- </resultMap>
- <resultMap type="com.wechat.model.dbEntity.MdeJobAdvertised" id="mdeJobAdvertisedJoin">
- <id column="job_id" property="jobId"/>
- <result column="job_name" property="jobName"/>
- <collection property="userCodeList" ofType="com.wechat.model.dbEntity.MdeJobInvitationRel">
- <result column="USER_CODE" property="userCode"/>
- </collection>
- </resultMap>
- <resultMap type="com.wechat.model.dbEntity.MdeJobAdvertised" id="mdePositionCvRelMap">
- <id column="job_id" property="jobId"/>
- <result column="job_name" property="jobName"/>
- <collection property="userCodeList" ofType="com.wechat.model.dbEntity.MdeJobInvitationRel">
- <result column="USER_CODE" property="userCode"/>
- </collection>
- </resultMap>
- <sql id="mdeJobAdvertisedColumns">
- a.job_id AS "jobId",
- a.publisher AS "publisher",
- a.job_name AS "jobName",
- a.position_id AS "positionId",
- a.add_province AS "addProvince",
- a.add_city AS "addCity",
- a.add_area AS "addArea",
- a.add_detail AS "addDetail",
- a.add_longitude AS "addLongitude",
- a.add_latitude AS "addLatitude",
- a.work_experience AS "workExperience",
- a.education AS "education",
- a.job_describe AS "jobDescribe",
- a.job_status AS "jobStatus",
- a.RECOMMEND_FLAG AS "recommendFlag",
- a.pay_from AS "payFrom",
- a.pay_to AS "payTo",
- a.version_no AS "versionNo",
- a.remarks AS "remarks",
- a.del_flag AS "delFlag",
- a.create_by AS "createBy",
- a.create_date AS "createDate",
- a.update_by AS "updateBy",
- a.update_date AS "updateDate",
- a.job_requirement AS "jobRequirement",
- a.job_invitation AS "jobInvitation",
- a.contact_information AS "contactInformation"
- </sql>
- <sql id="userColumJoin">
- ,u.name AS "publisherName"
- ,u.head_portrait AS "headPortrait"
- ,u.foreign_name as "foreignName"
- ,u.PREPARE_FLAG as prepareFlag
- ,u.identity_flag as "identityFlag"
- </sql>
- <sql id="areaColumJoin">
- <choose>
- <when test="lang == 'en'.toString()">
- ,s1.name_en as addProvinceName,s2.name_en as addCityName,s3.name_en as addAreaName
- </when>
- <otherwise>
- ,s1.name as addProvinceName,s2.name as addCityName,s3.name as addAreaName
- </otherwise>
- </choose>
- </sql>
- <sql id="userLeftJoin">
- inner join mde_user u on u.user_code = a.publisher and u.del_flag=0
- </sql>
- <sql id="arealeftJoin">
- inner JOIN sys_area s1 ON a.ADD_PROVINCE = s1.code
- inner JOIN sys_area s2 ON a.ADD_CITY = s2.code
- LEFT JOIN sys_area s3 ON a.ADD_AREA = s3.code
- </sql>
- <!-- 已发职位 or 已发职位的关键词检索 表连接 -->
- <sql id="mdeJobAdvertisedJoinCommon">
- LEFT JOIN (
- SELECT
- rel.POS_ID,
- COUNT( rel.INTV_ID ) AS cvNum,
- min( rel.CV_STATUS ) AS newFlag
- FROM
- mde_position_cv_rel rel
- INNER JOIN mde_user u ON u.USER_CODE = rel.CANDIDATE
- WHERE
- rel.PUBLISHER = #{userCode}
- AND u.DEL_FLAG = 0
- GROUP BY
- rel.POS_ID
- ) rel2 ON ad.JOB_ID = rel2.POS_ID
- LEFT JOIN sys_dict s ON s.`value` = ad.WORK_EXPERIENCE
- LEFT JOIN sys_dict edu ON edu.`value` = ad.education
- LEFT JOIN sys_area s1 ON ad.ADD_PROVINCE = s1.CODE
- LEFT JOIN sys_area s2 ON ad.ADD_CITY = s2.CODE
- LEFT JOIN mde_position p ON ad.POSITION_ID = p.POSITION_ID
- WHERE
- ad.DEL_FLAG = 0
- AND ad.PUBLISHER = #{userCode}
- AND s.type = 'job_year'
- AND edu.type = 'education'
- AND p.DEL_FLAG =0
- </sql>
- <!-- 已发职位 or 已发职位的关键词检索 select -->
- <sql id="mdeJobAdvertisedSelectCommon">
- ad.JOB_NAME AS jobName,
- ad.JOB_ID As jobId,
- ad.RECOMMEND_FLAG as recommendFlag,
- ad.PAY_FROM as payFrom,
- ad.PAY_TO as payTo,
- <choose>
- <when test="lang=='en'.toString()">
- s.en as workExperience,
- edu.en AS education,
- s1.name_en as addProvinceName,s2.name_en as addCityName,
- p.POSITION_NAME_EN as positionName,
- </when>
- <otherwise>
- s.label AS workExperience,
- edu.label AS education,
- s1.name as addProvinceName,s2.name as addCityName,
- p.POSITION_NAME_CN as positionName,
- </otherwise>
- </choose>
- p.POSITION_ID as positionId,
- ad.UPDATE_DATE AS publishDate,
- ad.JOB_STATUS AS jobStatus,
- rel2.cvNum AS cvNum,
- IFNULL( rel2.newFlag, 9 ) AS newFlag
- </sql>
- <!-- 获取职位信息 -->
- <select id="get" resultMap="MdeJobAdvertised">
- SELECT
- <include refid="mdeJobAdvertisedColumns"/>
- <include refid="userColumJoin">
- </include>
- <include refid="areaColumJoin">
- </include>
- ,u.PREPARE_YEAR as prepareYear
- ,u.PREPARE_QUARTER as prepareQuarter
- FROM mde_job_advertised a
- <include refid="userLeftJoin"/><!-- mde_user u -->
- <include refid="arealeftJoin">
- </include>
- WHERE a.job_id = #{id}
- and a.del_flag=0
- </select>
- <!-- 更加id获取职位信息 -->
- <select id="getInfoById" resultType="com.wechat.model.dbEntity.MdeJobAdvertisedEntity">
- SELECT
- <include refid="mdeJobAdvertisedColumns"/>
- FROM mde_job_advertised a
- WHERE a.job_id = #{id}
- </select>
- <!-- 获取职位信息 -->
- <select id="getInfoByIds" resultType="com.wechat.model.dto.ShowOfJobsDto">
- SELECT
- a.job_id AS "jobId",
- a.publisher AS "publisher",
- a.job_name AS "jobName",
- a.position_id AS "positionId",
- a.job_name as "positionName",
- pos.REMARKS as "abbreviation",
- a.work_experience AS "workExperience",
- a.education AS "education",
- a.job_describe AS "jobDescribe",
- a.job_requirement AS "jobRequirement",
- a.PAY_FROM as payFrom,
- a.PAY_TO as payTo,
- a.create_date AS "createDate",
- a.job_invitation AS "jobInvitation"
- ,s1.name as addProvinceName
- ,s2.name as addCityName
- ,s3.name as addAreaName
- FROM mde_job_advertised a
- <include refid="arealeftJoin">
- </include>
- inner join mde_position pos
- on a.position_id = pos.position_id
- WHERE a.JOB_STATUS = "0"
- and a.job_id in
- <foreach collection="idList" item="item" separator="," open="(" close=")">
- #{item}
- </foreach>
- order by pos.POSITION_GRADE
- </select>
- <insert id="insert">
- INSERT INTO mde_job_advertised(
- publisher,
- job_name,
- position_id,
- add_province,
- add_city,
- add_area,
- add_detail,
- add_longitude,
- add_latitude,
- work_experience,
- education,
- job_describe,
- remarks,
- create_by,
- create_date,
- update_by,
- update_date,
- <if test="recommendFlag != null and recommendFlag != ''">
- recommend_flag,
- </if>
- <if test="payFrom != null and payFrom != 0">
- pay_from,
- </if>
- <if test="payTo != null and payTo != 0">
- pay_to,
- </if>
- job_requirement,
- job_invitation,
- contact_information
- ) VALUES (
- #{publisher},
- #{jobName},
- #{positionId},
- #{addProvince},
- #{addCity},
- #{addArea},
- #{addDetail},
- #{addLongitude},
- #{addLatitude},
- #{workExperience},
- #{education},
- #{jobDescribe},
- #{remarks},
- #{createBy},
- #{createDate},
- #{updateBy},
- #{updateDate},
- <if test="recommendFlag != null and recommendFlag != ''">
- #{recommendFlag},
- </if>
- <if test="payFrom != null and payFrom != 0">
- #{payFrom},
- </if>
- <if test="payTo != null and payTo != 0">
- #{payTo},
- </if>
- #{jobRequirement},
- #{jobInvitation},
- #{contactInformation}
- )
- </insert>
- <update id="update">
- UPDATE mde_job_advertised SET
- <if test="publisher != null and publisher != ''">
- publisher = #{publisher},
- </if>
- <if test="jobName != null and jobName != ''">
- job_name = #{jobName},
- </if>
- <if test="positionId != null and positionId != ''">
- position_id = #{positionId},
- </if>
- <if test="addProvince != null and addProvince != ''">
- add_province = #{addProvince},
- </if>
- <if test="addCity != null and addCity != ''">
- add_city = #{addCity},
- </if>
- add_area = #{addArea},
- add_detail = #{addDetail},
- <if test="addLongitude != null and addLongitude != ''">
- add_longitude = #{addLongitude},
- </if>
- <if test="addLatitude != null and addLatitude != ''">
- add_latitude = #{addLatitude},
- </if>
- <if test="workExperience != null and workExperience != ''">
- work_experience = #{workExperience},
- </if>
- <if test="education != null and education != ''">
- education = #{education},
- </if>
- <if test="jobDescribe != null and jobDescribe != ''">
- job_describe = #{jobDescribe},
- </if>
- <if test="jobStatus != null and jobStatus != ''">
- job_status = #{jobStatus},
- </if>
- <if test="remarks != null and remarks != ''">
- remarks = #{remarks},
- </if>
- <if test="recommendFlag != null and recommendFlag != ''">
- recommend_flag = #{recommendFlag},
- </if>
- pay_from = #{payFrom},
- pay_to = #{payTo},
- <if test="updateBy != null and updateBy != ''">
- update_by = #{updateBy},
- </if>
- <if test="updateDate != null">
- update_date = #{updateDate},
- </if>
- <if test="createDate != null">
- create_date = #{createDate},
- </if>
- <if test="jobRequirement != null and jobRequirement != ''">
- job_requirement = #{jobRequirement},
- </if>
- <if test="jobInvitation != null and jobInvitation != ''">
- job_invitation = #{jobInvitation},
- </if>
- <if test="contactInformation !=null and contactInformation != ''">
- contact_information = #{contactInformation},
- </if>
- version_no = version_no +1
- WHERE job_id = #{jobId}
- <if test="versionNo !=null and versionNo != ''">
- and version_no = #{versionNo}
- </if>
- </update>
- <update id="delete">
- UPDATE mde_job_advertised
- SET version_no = version_no + 1,
- del_flag = #{DEL_FLAG_DELETE}
- WHERE job_id = #{id}
- and version_no = #{versionNo}
- </update>
- <!-- 推荐职位 (已登录) -->
- <select id="getRecommentJobs" resultMap="MdeJobAdvertised">
- <![CDATA[
- SET @num = 0;
- SET @cont = 0;
- SET @publisher = '';
- SELECT m.JOB_ID,
- m.PUBLISHER,
- m.row_number,
- m.JOB_NAME,
- m.ADD_PROVINCE,
- s1.`name` AS addProvinceName,
- s2.`name` AS addCityName,
- s3.`name` AS addAreaName,
- m.ADD_CITY,
- m.ADD_AREA,
- m.ADD_DETAIL,
- m.JOB_DESCRIBE,
- m.CREATE_DATE,
- m.UPDATE_DATE,
- m.publisher_name,
- m.PREPARE_FLAG,
- m.headPortrait,
- m.PAY_FROM,
- m.PAY_TO,
- m.foreignName
- FROM (SELECT base.*,
- CASE
- WHEN @publisher = base.PUBLISHER
- THEN @num := @num + 1
- ELSE @num := 1
- END row_number,
- @publisher := base.PUBLISHER,
- @cont := @cont + 1
- FROM
- (
- SELECT
- a.JOB_ID, a.PUBLISHER, a.JOB_NAME, a.ADD_PROVINCE, a.ADD_CITY, a.ADD_AREA, a.ADD_DETAIL, a.JOB_DESCRIBE, a.CREATE_DATE, a.UPDATE_DATE, a.PAY_FROM, a.PAY_TO, u.`NAME` AS publisher_name, u.PREPARE_FLAG, u.head_portrait AS headPortrait, u.foreign_name AS foreignName
- FROM
- mde_job_advertised a
- INNER JOIN mde_user u ON u.USER_CODE = a.PUBLISHER
- AND u.VIP_FLAG != 0
- WHERE
- a.job_status = 0
- and a.RECOMMEND_FLAG = '1'
- AND date ( a.UPDATE_DATE ) > DATE_SUB( CURDATE( ), INTERVAL 3 MONTH )
- ORDER BY
- RAND( )
- ) base
- ORDER BY
- base.PUBLISHER) m
- LEFT JOIN sys_area s1 ON m.ADD_PROVINCE = s1.CODE
- LEFT JOIN sys_area s2 ON m.ADD_CITY = s2.CODE
- LEFT JOIN sys_area s3 ON m.ADD_AREA = s3.CODE
- WHERE m.row_number <= 2
- ORDER BY RAND()
- LIMIT #{limitSize}
- ]]>
- </select>
- <!-- 相似职位 -->
- <select id="getSimilarJobs" resultType="com.wechat.model.dto.JobAdvertisedListDto">
- SELECT
- a.job_id AS "jobId",
- a.job_name AS "jobName",
- a.position_id AS "positionId",
- a.add_detail AS "addDetail",
- a.add_longitude AS "addLongitude",
- a.add_latitude AS "addLatitude",
- a.work_experience AS "workExperience",
- a.education AS "education",
- a.PAY_FROM as payFrom,
- a.PAY_TO as payTo,
- puvView.PAGE_VIEW as pageView,
- a.update_date AS "updateDate"
- <include refid="userColumJoin">
- </include>
- <include refid="areaColumJoin">
- </include>
- FROM mde_job_advertised a
- <include refid="userLeftJoin"/>
- <include refid="arealeftJoin">
- </include>
- left join MDE_VIEW_JOB_PUV_ALL puvView
- on puvView.JOB_ID = a.JOB_ID
- <where>
- a.del_flag = 0 and a.job_id != #{jobId} and a.job_status =0
- and a.position_id = (select position_id from mde_job_advertised where job_id=#{jobId})
- AND a.job_id >=
- ((SELECT MAX(job_id) FROM mde_job_advertised) - (SELECT MIN(job_id) FROM mde_job_advertised)) * RAND() +
- ( SELECT MIN(job_id) FROM mde_job_advertised )
- </where>
- order by a.RECOMMEND_FLAG desc,a.update_date desc
- limit #{limitSize}
- </select>
- <!-- 酒店的其他职位 -->
- <select id="gethotelOtherPositionList"
- resultMap="MdeJobAdvertised">
- SELECT
- <include refid="mdeJobAdvertisedColumns"/>
- <include refid="userColumJoin">
- </include>
- <include refid="areaColumJoin">
- </include>
- FROM mde_job_advertised a
- <include refid="userLeftJoin"/>
- <include refid="arealeftJoin">
- </include>
- <where>
- a.del_flag = 0 and job_id != #{jobId} and a.job_status =0
- and a.publisher = #{publisher}
- </where>
- order by a.RECOMMEND_FLAG desc,a.update_date desc
- limit #{limitSize}
- </select>
- <!-- 职位搜索 (未登录) -->
- <select id="searchJobNotLogin" resultMap="MdeJobAdvertised">
- SELECT
- j.JOB_ID,
- j.PUBLISHER,
- u.`NAME` AS publisher_name,
- u.foreign_name,
- u.identity_flag,
- j.JOB_NAME,
- j.CREATE_DATE
- FROM
- mde_job_advertised j
- INNER JOIN mde_user u ON u.USER_CODE = j.PUBLISHER
- INNER JOIN sys_area a ON j.ADD_PROVINCE = a.code
- INNER JOIN sys_area b ON j.ADD_CITY = b.code
- LEFT JOIN sys_area c ON j.ADD_AREA = c.code
- WHERE
- u.IDENTITY_FLAG = 1
- AND u.DEL_FLAG = 0
- AND j.JOB_STATUS = 0
- AND j.DEL_FLAG = 0
- <if test="keyWord != null and keyWord.size() >0">
- AND
- <foreach collection="keyWord" item="key" open="(" close=")" separator="or">
- CONCAT(a.`name`, b.`name`, c.`name`,j.ADD_DETAIL) LIKE CONCAT('%', #{key}, '%')
- OR u.`NAME` LIKE CONCAT('%', #{key}, '%')
- OR j.JOB_NAME LIKE CONCAT('%', #{key}, '%')
- </foreach>
- </if>
- GROUP BY j.PUBLISHER
- order by j.RECOMMEND_FLAG desc,j.update_date desc
- limit 10
- </select>
- <!-- 职位搜索 -->
- <select id="searchJob" resultType="com.wechat.model.dto.JobAdvertisedListDto">
- SELECT
- <include refid="mdeJobAdvertisedColumns"/>
- <include refid="userColumJoin">
- </include>
- <include refid="areaColumJoin">
- </include>
- ,pos.POSITION_GRADE as positionGrade
- ,puvView.PAGE_VIEW as pageView
- FROM mde_job_advertised a
- <include refid="userLeftJoin"/><!-- mde_user u -->
- <include refid="arealeftJoin"/><!-- sys_area s1,s2,s3 -->
- inner join MDE_POSITION pos
- on pos.POSITION_ID = a.POSITION_ID
- left join MDE_VIEW_JOB_PUV_ALL puvView
- on puvView.JOB_ID = a.JOB_ID
- <where>
- a.del_flag = 0
- and a.job_status = 0
- AND u.del_flag = 0
- AND u.IDENTITY_FLAG = 1
- <if test="keyWord !=null and keyWord.size() != 0">
- and
- (
- (
- <!-- 职位名搜索 -->
- <foreach item="key" collection="keyWord" open="(" separator=" or " close=")">
- a.JOB_NAME like concat('%',#{key},'%')
- </foreach>
- )
- <!-- 加入 按照酒店名称搜索 -->
- or (
- <foreach item="key" collection="keyWord" open="(" separator=" or " close=")">
- u.name like concat("%", #{key},"%")
- </foreach>
- )
- )
- </if>
- <if test="position != null and position.size() != 0">
- and a.position_id in
- <foreach item="ideach" collection="position" open="(" separator="," close=")">
- #{ideach}
- </foreach>
- </if>
- <if test="prepareFlag !=null and prepareFlag != ''">
- and u.PREPARE_FLAG = #{prepareFlag}
- </if>
- <if test="fromDate !=null and fromDate != ''">
- and date_format( a.update_date, '%Y-%m-%d' ) >= #{fromDate}
- </if>
- <choose>
- <when test="addArea != null">
- and a.add_area = #{addArea}
- </when>
- <when test="addCity != null">
- and a.add_city = #{addCity}
- </when>
- <when test="addProvince != null">
- and a.add_province = #{addProvince}
- </when>
- </choose>
- </where>
- <choose>
- <when test="orderColumn != null and orderColumn != ''">
- <!-- 拼接SQL 所以使用${XX} 不是 #{XX} -->
- ORDER BY ${orderColumn}
- </when>
- <otherwise>
- ORDER BY a.RECOMMEND_FLAG desc,a.update_date desc
- </otherwise>
- </choose>
- </select>
- <select id="searchJobCount" resultType="java.lang.Integer">
- SELECT
- count(1)
- FROM mde_job_advertised a
- <include refid="userLeftJoin"/><!-- mde_user u -->
- <include refid="arealeftJoin"/><!-- sys_area s1,s2,s3 -->
- <where>
- a.del_flag = 0
- and a.job_status = 0
- AND u.del_flag = 0
- AND u.IDENTITY_FLAG = 1
- <if test="keyWord !=null and keyWord.size() != 0">
- and
- (
- (
- <!-- 职位名搜索 -->
- <foreach item="key" collection="keyWord" open="(" separator=" or " close=")">
- a.JOB_NAME like concat('%',#{key},'%')
- </foreach>
- )
- <!-- 加入 按照酒店名称搜索 -->
- or (
- <foreach item="key" collection="keyWord" open="(" separator=" or " close=")">
- u.name like concat("%", #{key},"%")
- </foreach>
- )
- )
- </if>
- <if test="position != null and position.size() != 0">
- and a.position_id in
- <foreach item="ideach" collection="position" open="(" separator="," close=")">
- #{ideach}
- </foreach>
- </if>
- <if test="prepareFlag !=null and prepareFlag != ''">
- and u.PREPARE_FLAG = #{prepareFlag}
- </if>
- <if test="fromDate !=null and fromDate != ''">
- and date_format( a.update_date, '%Y-%m-%d' ) >= #{fromDate}
- </if>
- <choose>
- <when test="addArea != null">
- and a.add_area = #{addArea}
- </when>
- <when test="addCity != null">
- and a.add_city = #{addCity}
- </when>
- <when test="addProvince != null">
- and a.add_province = #{addProvince}
- </when>
- </choose>
- </where>
- </select>
- <!-- 职位关键词搜索(用户版) -->
- <select id="searchPositionByKeyWord" resultType="com.wechat.model.dto.JobAdvertisedListDto">
- SELECT
- <include refid="mdeJobAdvertisedColumns"/>
- <include refid="userColumJoin">
- </include>
- <include refid="areaColumJoin">
- </include>
- ,pos.POSITION_GRADE as positionGrade
- ,puvView.PAGE_VIEW as pageView
- FROM mde_job_advertised a
- <include refid="userLeftJoin"/><!-- mde_user u -->
- <include refid="arealeftJoin"/><!-- sys_area s1,s2,s3 -->
- inner join MDE_POSITION pos
- on pos.POSITION_ID = a.POSITION_ID
- left join MDE_VIEW_JOB_PUV_ALL puvView
- on puvView.JOB_ID = a.JOB_ID
- <where>
- a.del_flag = 0
- and a.job_status = 0
- AND u.del_flag = 0
- AND u.IDENTITY_FLAG = 1
- <if test="keyWord !=null">
- AND
- (
- MATCH(a.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH( u.NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH( s1.NAME,s1.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH( s2.NAME,s2.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH( s3.NAME,s3.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- )
- ORDER BY MATCH(a.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE) desc
- </if>
- </where>
- </select>
- <!-- 职位关键词搜索(用户版) 统计-->
- <select id="searchPositionByKeyWordCount" resultType="java.lang.Integer">
- SELECT
- count(1)
- FROM mde_job_advertised a
- <include refid="userLeftJoin"/><!-- mde_user u -->
- <include refid="arealeftJoin"/><!-- sys_area s1,s2,s3 -->
- inner join MDE_POSITION pos
- on pos.POSITION_ID = a.POSITION_ID
- left join MDE_VIEW_JOB_PUV_ALL puvView
- on puvView.JOB_ID = a.JOB_ID
- <where>
- a.del_flag = 0
- and a.job_status = 0
- AND u.del_flag = 0
- AND u.IDENTITY_FLAG = 1
- <if test="keyWord !=null">
- AND
- (
- MATCH(a.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH( u.NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH( s1.NAME,s1.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH( s2.NAME,s2.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH( s3.NAME,s3.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- )
- ORDER BY MATCH(a.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE) desc
- </if>
- </where>
- </select>
- <!-- 职位搜索 点击量-->
- <select id="searchJobPv" resultType="com.wechat.model.dto.JobAdvertisedListDto">
- SELECT
- <include refid="mdeJobAdvertisedColumns"/>
- <include refid="userColumJoin">
- </include>
- <include refid="areaColumJoin">
- </include>
- ,pos.POSITION_GRADE as positionGrade
- FROM mde_job_advertised a
- <include refid="userLeftJoin"/><!-- mde_user u -->
- <include refid="arealeftJoin"/><!-- sys_area s1,s2,s3 -->
- inner join MDE_POSITION pos
- on pos.POSITION_ID = a.POSITION_ID
- <where>
- a.del_flag = 0
- and a.job_status = 0
- AND u.del_flag = 0
- AND u.IDENTITY_FLAG = 1
- <if test="keyWord !=null and keyWord.size() != 0">
- and
- (
- (
- <!-- 职位名搜索 -->
- <foreach item="key" collection="keyWord" open="(" separator=" or " close=")">
- a.JOB_NAME like concat('%',#{key},'%')
- </foreach>
- )
- <!-- 加入 按照酒店名称搜索 -->
- or (
- <foreach item="key" collection="keyWord" open="(" separator=" or " close=")">
- u.name like concat("%", #{key},"%")
- </foreach>
- )
- )
- </if>
- <if test="position != null and position.size() != 0">
- and a.position_id in
- <foreach item="ideach" collection="position" open="(" separator="," close=")">
- #{ideach}
- </foreach>
- </if>
- <if test="prepareFlag !=null and prepareFlag != ''">
- and u.PREPARE_FLAG = #{prepareFlag}
- </if>
- <if test="fromDate !=null and fromDate != ''">
- and date_format( a.update_date, '%Y-%m-%d' ) >= #{fromDate}
- </if>
- <choose>
- <when test="addArea != null">
- and a.add_area = #{addArea}
- </when>
- <when test="addCity != null">
- and a.add_city = #{addCity}
- </when>
- <when test="addProvince != null">
- and a.add_province = #{addProvince}
- </when>
- </choose>
- </where>
- <choose>
- <when test="orderColumn != null and orderColumn != ''">
- <!-- 拼接SQL 所以使用${XX} 不是 #{XX} -->
- ORDER BY ${orderColumn}
- </when>
- <otherwise>
- ORDER BY a.RECOMMEND_FLAG desc,a.update_date desc
- </otherwise>
- </choose>
- </select>
- <!-- 查看该企业是否发布某个职位 -->
- <select id="findByPublisherAndJobId" parameterType="com.wechat.model.dbEntity.MdeJobInvitationRel"
- resultMap="MdeJobAdvertised">
- select
- <include refid="mdeJobAdvertisedColumns">
- </include>
- from mde_job_advertised a
- where a.PUBLISHER =#{publisher}
- and a.job_Id = #{jobId}
- AND a.JOB_STATUS =0
- AND a.DEL_FLAG = 0
- </select>
- <select id="getCollectionJobList" resultType="com.wechat.model.responseDto.JobAdvertisedRes">
- SELECT
- a.job_id as jobId,
- a.job_name as jobName,
- a.PAY_FROM as payFrom,
- a.PAY_TO as payTo,
- <choose>
- <when test="lang == 'en'.toString()">
- s1.name_en as addProvince,
- s.name_en as addCity,
- </when>
- <otherwise>
- s1.name as addProvince,
- s.name as addCity,
- </otherwise>
- </choose>
- u.NAME as name,
- u.foreign_name as foreignName
- FROM
- mde_job_advertised a
- LEFT JOIN mde_user u ON a.publisher = u.user_code AND u.del_flag = 0
- LEFT JOIN sys_area s ON a.add_city = s.code AND s.del_flag = 0
- LEFT JOIN sys_area s1 ON a.add_province = s1.code AND s1.del_flag = 0
- WHERE a.del_flag=0 and a.job_id in
- <foreach collection="jobListStr" index="index" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
- </select>
- <!-- 获取正在发布中的职位 -->
- <select id="getPublishingJobsByUserCode" resultType="com.wechat.model.responseDto.JobAdvertisedNologinResp">
- SELECT
- ad.JOB_NAME AS jobName,
- ad.JOB_ID As jobId,
- ad.RECOMMEND_FLAG as recommendFlag,
- ad.PAY_FROM as payFrom,
- ad.PAY_TO as payTo,
- <choose>
- <when test="lang=='en'.toString()">
- s.en as workExperience,
- edu.en AS education,
- s1.name_en as addProvinceName,s2.name_en as addCityName,
- </when>
- <otherwise>
- s.label AS workExperience,
- edu.label AS education,
- s1.name as addProvinceName,s2.name as addCityName,
- </otherwise>
- </choose>
- ad.UPDATE_DATE AS publishDate,
- ad.CREATE_DATE AS createDate,
- ad.JOB_STATUS AS jobStatus
- FROM
- mde_job_advertised ad,
- sys_dict s,
- sys_dict edu,
- sys_area s1,
- sys_area s2
- WHERE
- s.`value` = ad.WORK_EXPERIENCE
- AND ad.DEL_FLAG = 0
- AND ad.PUBLISHER = #{userCode}
- AND ad.JOB_STATUS = 0
- AND s.type = 'job_year'
- AND edu.`value` = ad.education
- AND edu.type = 'education'
- AND ad.ADD_PROVINCE = s1.code
- AND ad.ADD_CITY = s2.code
- order by ad.RECOMMEND_FLAG desc,ad.update_date desc
- </select>
- <!-- 获取正在发布中的职位 非登陆-->
- <select id="getPublishingJobsNologin" resultType="com.wechat.model.responseDto.JobAdvertisedNologinResp">
- SELECT
- ad.JOB_NAME AS jobName,
- ad.JOB_ID As jobId,
- ad.RECOMMEND_FLAG as recommendFlag,
- ad.PAY_FROM as payFrom,
- ad.PAY_TO as payTo,
- <choose>
- <when test="lang=='en'.toString()">
- s.en as workExperience,
- edu.en AS education,
- s1.name_en as addProvinceName,s2.name_en as addCityName,
- </when>
- <otherwise>
- s.label AS workExperience,
- edu.label AS education,
- s1.name as addProvinceName,s2.name as addCityName,
- </otherwise>
- </choose>
- ad.UPDATE_DATE AS publishDate,
- ad.CREATE_DATE as createDate,
- ad.JOB_STATUS AS jobStatus
- FROM
- mde_job_advertised ad,
- sys_dict s,
- sys_dict edu,
- sys_area s1,
- sys_area s2
- WHERE
- s.`value` = ad.WORK_EXPERIENCE
- AND ad.DEL_FLAG = 0
- AND ad.PUBLISHER = #{userCode}
- AND ad.JOB_STATUS = 0
- AND s.type = 'job_year'
- AND edu.`value` = ad.education
- AND edu.type = 'education'
- AND ad.ADD_PROVINCE = s1.code
- AND ad.ADD_CITY = s2.code
- order by ad.RECOMMEND_FLAG desc,ad.update_date desc
- </select>
- <select id="alreadyPublishNotVipCount" resultType="java.lang.Integer">
- SELECT
- count(1)
- FROM
- mde_job_advertised ad
- WHERE
- ad.DEL_FLAG = 0
- AND ad.PUBLISHER = #{userCode}
- <if test="jobStatus !=null and jobStatus != ''">
- AND ad.JOB_STATUS = #{jobStatus}
- </if>
- </select>
- <select id="alreadyPublishCount" resultType="java.lang.Integer">
- SELECT
- count(1)
- FROM
- mde_job_advertised ad
- <include refid="mdeJobAdvertisedJoinCommon"/>
- <if test="jobStatus !=null and jobStatus != ''">
- AND ad.JOB_STATUS = #{jobStatus}
- </if>
- <if test="positionIdList != null">
- AND ad.POSITION_ID in
- <foreach collection="positionIdList" item="positionId" separator="," open="(" close=")">
- #{positionId}
- </foreach>
- </if>
- <if test="newDelivery">
- AND rel2.newFlag = 0
- </if>
- <if test="dayStart !=null">
- <![CDATA[
- AND ad.CREATE_DATE >= #{dayStart}
- ]]>
- </if>
- <if test="dayEnd !=null">
- <![CDATA[
- AND ad.CREATE_DATE <= #{dayEnd}
- ]]>
- </if>
- <if test="workExperience != null and workExperience != ''">
- AND s.label = #{workExperience}
- </if>
- </select>
- <!-- 获取正在发布中的职位 -->
- <select id="alreadyPublish" resultType="com.wechat.model.responseDto.JobAdvertisedResp">
- SELECT
- <include refid="mdeJobAdvertisedSelectCommon"/>
- FROM
- mde_job_advertised ad
- <include refid="mdeJobAdvertisedJoinCommon"/>
- <if test="jobStatus !=null and jobStatus != ''">
- AND ad.JOB_STATUS = #{jobStatus}
- </if>
- <if test="positionIdList != null">
- AND ad.POSITION_ID in
- <foreach collection="positionIdList" item="positionId" separator="," open="(" close=")">
- #{positionId}
- </foreach>
- </if>
- <if test="newDelivery">
- AND rel2.newFlag = 0
- </if>
- <if test="dayStart !=null">
- <![CDATA[
- AND ad.CREATE_DATE >= #{dayStart}
- ]]>
- </if>
- <if test="dayEnd !=null">
- <![CDATA[
- AND ad.CREATE_DATE <= #{dayEnd}
- ]]>
- </if>
- <if test="workExperience != null and workExperience != ''">
- AND s.label = #{workExperience}
- </if>
- order by ad.JOB_STATUS,ad.RECOMMEND_FLAG desc,ad.update_date desc
- </select>
- <!-- 获取发布的职位列表 -->
- <select id="alreadyPublishPositionList" resultType="com.wechat.model.responseDto.AlreadyPublishPositionResp">
- SELECT
- ad.JOB_ID AS jobId,
- ad.JOB_NAME AS jobName
- FROM
- mde_job_advertised ad
- WHERE
- ad.DEL_FLAG = 0
- AND ad.PUBLISHER = #{userCode}
- GROUP BY
- ad.JOB_NAME
- ORDER BY
- ad.JOB_STATUS ASC
- </select>
- <!-- 已发职位关键词检索 统计 -->
- <select id="searchAlreadyPublishByKeyWordCount" resultType="java.lang.Integer">
- SELECT
- count(1)
- FROM
- mde_job_advertised ad
- <include refid="mdeJobAdvertisedJoinCommon"/>
- <if test="keyWord !=null">
- AND
- (
- MATCH(ad.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH(p.POSITION_NAME_CN,p.POSITION_NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH(s1.NAME,s1.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH(s2.NAME,s2.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- edu.label like concat('%',#{keyWord},'%')
- )
- </if>
- </select>
- <!-- 已发职位关键词检索 -->
- <select id="searchAlreadyPublishByKeyWord" resultType="com.wechat.model.responseDto.JobAdvertisedResp">
- SELECT
- <include refid="mdeJobAdvertisedSelectCommon"/>
- FROM
- mde_job_advertised ad
- <include refid="mdeJobAdvertisedJoinCommon"/>
- <if test="keyWord !=null">
- AND
- (
- MATCH(ad.JOB_NAME) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH(p.POSITION_NAME_CN,p.POSITION_NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH(s1.NAME,s1.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- MATCH(s2.NAME,s2.NAME_EN) AGAINST(#{keyWord} IN BOOLEAN MODE)
- or
- edu.label like concat('%',#{keyWord},'%')
- )
- order by ad.JOB_STATUS,ad.RECOMMEND_FLAG desc,ad.update_date desc
- </if>
- </select>
- <!-- 推荐职位 分页查询 -->
- <select id="getPagingRecommentJobs" resultType="com.wechat.model.dto.JobAdvertisedListDto">
- SELECT job.JOB_ID as jobId,
- job.PUBLISHER as publisher,
- job.JOB_NAME as jobName,
- job.ADD_PROVINCE as addProvince,
- job.ADD_CITY as addCity,
- job.ADD_AREA as addArea,
- s1.`name` AS addProvinceName,
- s2.`name` AS addCityName,
- s3.`name` AS addAreaName,
- job.ADD_DETAIL as addDetail,
- job.work_experience AS workExperience,
- job.education AS education,
- job.PAY_FROM as payFrom,
- job.PAY_TO as payTo,
- job.UPDATE_DATE as updateDate,
- puber.`NAME` AS publisherName,
- puber.head_portrait AS headPortrait,
- puber.foreign_name AS foreignName,
- puber.PREPARE_FLAG as prepareFlag,
- puber.VIP_FLAG as vipFlag
- FROM MDE_JOB_ADVERTISED job
- INNER JOIN mde_position bp ON job.POSITION_ID = bp.POSITION_ID
- INNER JOIN (SELECT b.DEPD_ID,
- b.POSITION_GRADE
- FROM mde_work_experience a
- INNER JOIN mde_position_another_name b ON a.POSITION_TITLE = b.POSITION_NAME
- WHERE a.USER_CODE = #{userCode}
- AND a.SHOW_FLAG = '0'
- and a.DEL_FLAG = '0'
- UNION
- SELECT b.DEPD_ID,
- b.POSITION_GRADE
- FROM MDE_SUBSCRIBED_POSITIONS a
- INNER JOIN MDE_POSITION b ON a.POSITION_ID = b.POSITION_ID
- WHERE a.USER_CODE = #{userCode}
- AND a.DEL_FLAG = '0') uWork ON bp.DEPD_ID = uWork.DEPD_ID
- <![CDATA[ AND bp.POSITION_GRADE <= uWork.POSITION_GRADE ]]>
- INNER JOIN mde_user puber ON job.PUBLISHER = puber.USER_CODE
- LEFT JOIN sys_area s1 ON job.ADD_PROVINCE = s1.CODE
- LEFT JOIN sys_area s2 ON job.ADD_CITY = s2.CODE
- LEFT JOIN sys_area s3 ON job.ADD_AREA = s3.CODE
- WHERE job.JOB_STATUS = '0'
- and job.DEL_FLAG = '0'
- and puber.DEL_FLAG = '0'
- and bp.DEL_FLAG = '0'
- and job.UPDATE_DATE > #{selDate}
- ORDER BY job.RECOMMEND_FLAG DESC,
- puber.VIP_FLAG DESC,
- job.UPDATE_DATE DESC
- </select>
- <!-- 推荐职位分页查询 计数 -->
- <select id="getPagingRecommentJobsCount" resultType="java.lang.Integer">
- SELECT count(job.JOB_ID)
- FROM MDE_JOB_ADVERTISED job
- INNER JOIN mde_position bp ON job.POSITION_ID = bp.POSITION_ID
- INNER JOIN (SELECT b.DEPD_ID,
- b.POSITION_GRADE
- FROM mde_work_experience a
- INNER JOIN mde_position_another_name b ON a.POSITION_TITLE = b.POSITION_NAME
- WHERE a.USER_CODE = #{userCode}
- AND a.SHOW_FLAG = '0'
- and a.DEL_FLAG = '0'
- UNION
- SELECT b.DEPD_ID,
- b.POSITION_GRADE
- FROM MDE_SUBSCRIBED_POSITIONS a
- INNER JOIN MDE_POSITION b ON a.POSITION_ID = b.POSITION_ID
- WHERE a.USER_CODE = #{userCode}
- AND a.DEL_FLAG = '0') uWork ON bp.DEPD_ID = uWork.DEPD_ID
- <![CDATA[ AND bp.POSITION_GRADE <= uWork.POSITION_GRADE ]]>
- INNER JOIN mde_user puber ON job.PUBLISHER = puber.USER_CODE
- WHERE job.JOB_STATUS = '0'
- and job.DEL_FLAG = '0'
- and puber.DEL_FLAG = '0'
- and bp.DEL_FLAG = '0'
- and job.UPDATE_DATE > #{selDate}
- </select>
- <!--获取已经投递过职位的用户code -->
- <select id="getAlreadyAdvertisedByJobId" resultMap="mdePositionCvRelMap">
- SELECT j.job_id,
- j.JOB_NAME,
- p.CANDIDATE as USER_CODE
- FROM mde_job_advertised j
- LEFT JOIN mde_position_cv_rel p ON j.JOB_ID = p.POS_ID
- AND p.DEL_FLAG = 0
- WHERE j.PUBLISHER = #{publisher}
- AND j.JOB_STATUS = 0
- AND j.DEL_FLAG = 0
- </select>
- <!-- 获取 企业正在招聘的职位 -->
- <select id="getAdvertisedRecruitment" resultMap="mdeJobAdvertisedJoin">
- SELECT j.JOB_ID,
- j.JOB_NAME,
- r.user_code
- FROM mde_job_advertised j
- LEFT JOIN mde_job_invitation_rel r ON j.JOB_ID = r.job_id
- AND j.PUBLISHER = r.PUBLISHER AND r.DEL_FLAG = 0
- WHERE j.JOB_STATUS = 0
- AND j.DEL_FLAG = 0
- AND j.PUBLISHER = #{publisher}
- order by j.RECOMMEND_FLAG desc, j.update_date desc
- </select>
- <!-- 修改职位状态 关闭职位的同时取消职位首推-->
- <update id="updateJobAdvertisedStatus">
- UPDATE mde_job_advertised
- SET JOB_STATUS = #{jobStatus},
- <if test="jobStatus == 1">
- RECOMMEND_FLAG = '0',
- </if>
- UPDATE_DATE = now(),
- VERSION_NO = VERSION_NO + 1
- WHERE
- JOB_ID = #{jobId}
- AND PUBLISHER = #{userCode}
- AND DEL_FLAG = 0
- </update>
- <!-- 修改首推状态 -->
- <update id="updateJobRecommend">
- UPDATE mde_job_advertised
- SET RECOMMEND_FLAG = #{recommendFlag},
- UPDATE_DATE = now(),
- VERSION_NO = VERSION_NO + 1
- WHERE JOB_ID = #{jobId}
- AND PUBLISHER = #{userCode}
- AND DEL_FLAG = 0
- </update>
- <!-- 企业简历总数量 -->
- <select id="getAllUserCvCount" resultType="java.lang.Integer">
- SELECT count(1)
- FROM mde_job_advertised j,
- mde_position_cv_rel r
- WHERE j.JOB_ID = r.POS_ID
- AND j.DEL_FLAG = 0
- AND r.DEL_FLAG = 0
- AND j.PUBLISHER = #{userCode}
- </select>
- <!-- 按发布者获取新简历数量 -->
- <select id="getNewCvCountByPublisher" resultType="java.lang.Integer">
- SELECT count(1)
- FROM mde_job_advertised j,
- mde_position_cv_rel r
- WHERE j.JOB_ID = r.POS_ID
- AND j.DEL_FLAG = 0
- AND r.DEL_FLAG = 0
- AND r.CV_STATUS = 0
- AND j.PUBLISHER = #{userCode}
- </select>
- <!-- 邀请面试数量 -->
- <select id="inviteAuditionCount" resultType="java.lang.Integer">
- SELECT count(1)
- FROM mde_job_advertised j,
- mde_position_cv_rel r
- WHERE j.JOB_ID = r.POS_ID
- AND j.DEL_FLAG = 0
- AND r.DEL_FLAG = 0
- AND r.CV_STATUS = 3
- AND j.PUBLISHER = #{userCode}
- </select>
- <!-- 录用简历数量 -->
- <select id="matriculateUserCvCount" resultType="java.lang.Integer">
- SELECT count(1)
- FROM mde_job_advertised j,
- mde_position_cv_rel r
- WHERE j.JOB_ID = r.POS_ID
- AND j.DEL_FLAG = 0
- AND r.DEL_FLAG = 0
- AND r.CV_STATUS = 4
- AND j.PUBLISHER = #{userCode}
- </select>
- <!-- 淘汰数量 -->
- <select id="eliminateUserCvCount" resultType="java.lang.Integer">
- SELECT count(1)
- FROM mde_job_advertised j,
- mde_position_cv_rel r
- WHERE j.JOB_ID = r.POS_ID
- AND j.DEL_FLAG = 0
- AND r.DEL_FLAG = 0
- AND r.CV_STATUS = 5
- AND j.PUBLISHER = #{userCode}
- </select>
- <!-- 随机抽取优选职位 大于50 (未登录) -->
- <select id="getNotLoginRecommentJobsRandJoin" resultMap="MdeJobAdvertised">
- SELECT t1.JOB_ID,
- t1.PUBLISHER,
- t1.JOB_NAME,
- t1.JOB_DESCRIBE,
- t1.CREATE_DATE,
- t1.`NAME` AS publisher_name
- from (SELECT a.JOB_ID,
- a.PUBLISHER,
- a.JOB_NAME,
- a.JOB_DESCRIBE,
- a.CREATE_DATE,
- a.UPDATE_DATE,
- u.`NAME`
- FROM mde_job_advertised a,
- mde_user u
- WHERE u.USER_CODE = a.PUBLISHER
- AND u.DEL_FLAG = 0
- AND u.IDENTITY_FLAG = 1
- AND u.VIP_FLAG = 1
- AND a.DEL_FLAG = 0
- AND a.JOB_STATUS = 0
- GROUP BY a.PUBLISHER) as t1
- JOIN (SELECT ROUND(RAND() * (
- (SELECT MAX(JOB_ID) FROM mde_job_advertised) - (SELECT MIN(JOB_ID) FROM mde_job_advertised)) +
- (SELECT MIN(JOB_ID) FROM mde_job_advertised)) AS JOB_ID) AS t2
- WHERE t1.JOB_ID >= t2.JOB_ID
- ORDER BY t1.UPDATE_DATE desc
- LIMIT #{limitSize}
- </select>
- <!-- 随机抽取优选职位 小于50 (未登录) -->
- <select id="getNotLoginRecommentJobsRand" resultMap="MdeJobAdvertised">
- SELECT a.JOB_ID,
- a.PUBLISHER,
- a.JOB_NAME,
- a.JOB_DESCRIBE,
- a.CREATE_DATE,
- u.`NAME` AS publisher_name
- FROM mde_job_advertised a,
- mde_user u
- WHERE u.USER_CODE = a.PUBLISHER
- AND u.DEL_FLAG = 0
- AND u.IDENTITY_FLAG = 1
- AND u.VIP_FLAG = 1
- AND a.DEL_FLAG = 0
- AND a.JOB_STATUS = 0
- GROUP BY a.PUBLISHER
- ORDER BY RAND()
- LIMIT #{limitSize}
- </select>
- <!--优选人才数量 -->
- <select id="getNotLoginRecommentJobsCount" resultType="java.lang.Integer">
- SELECT count(1)
- FROM mde_job_advertised a,
- mde_user u
- WHERE u.USER_CODE = a.PUBLISHER
- AND u.DEL_FLAG = 0
- AND u.IDENTITY_FLAG = 1
- AND u.VIP_FLAG = 1
- AND a.DEL_FLAG = 0
- AND a.JOB_STATUS = 0
- </select>
- <update id="batchUpdatePublishDate">
- UPDATE mde_job_advertised
- SET UPDATE_DATE = NOW(),
- version_no = version_no + 1
- WHERE JOB_STATUS = 0
- and PUBLISHER = #{publisher}
- </update>
- <update id="updatePublishDate">
- UPDATE mde_job_advertised
- SET UPDATE_DATE = NOW(),
- version_no = version_no + 1
- WHERE JOB_STATUS = 0
- and PUBLISHER = #{publisher}
- and JOB_ID = #{jobId}
- </update>
- <!--获取酒店可首推和已首推个数 -->
- <select id="getAvailableAndUsedCount" resultType="com.wechat.model.dto.AvailableAndUsedCountDto">
- SELECT ifnull(count(a.PUBLISHER), 0) as used,
- ifnull(s.remarks, 0) as available
- FROM mde_user u
- left join mde_job_advertised a
- on u.USER_CODE = a.PUBLISHER
- AND a.DEL_FLAG = 0
- AND a.JOB_STATUS = 0
- AND a.RECOMMEND_FLAG = 1
- left join sys_dict s
- on s.value = u.VIP_FLAG
- and s.type = 'vip_level'
- WHERE u.USER_CODE = #{userCode}
- AND u.DEL_FLAG = 0
- AND u.IDENTITY_FLAG = 1
- GROUP By u.USER_CODE
- </select>
- <select id="findRepFormPvByDate" resultType="com.wechat.model.dto.JobRepFormPvDto">
- SELECT
- <choose>
- <when test='ymd =="d"'>
- a.WRIT_DATE as imagX,
- </when>
- <when test='ymd =="m"'>
- date_format( a.WRIT_DATE, '%Y-%m' ) as imagX,
- </when>
- <when test='ymd =="y"'>
- date_format( a.WRIT_DATE, '%Y' ) as imagX,
- </when>
- <otherwise>
- a.WRIT_DATE as imagX,
- </otherwise>
- </choose>
- IFNULL(cvHis.num,0) as cvNums,
- SUM( a.PAGE_VIEW ) as pv
- FROM
- mde_job_advertised job
- inner join
- mde_job_pv_uv a on job.JOB_ID = a.JOB_ID
- LEFT JOIN (
- SELECT
- <choose>
- <when test='ymd =="d"'>
- rel.DELIVER_DATE as deliverDate,
- </when>
- <when test='ymd =="m"'>
- date_format( rel.DELIVER_DATE , '%Y-%m' ) as deliverDate,
- </when>
- <when test='ymd =="y"'>
- date_format( rel.DELIVER_DATE , '%Y' ) as deliverDate,
- </when>
- <otherwise>
- rel.DELIVER_DATE as deliverDate,
- </otherwise>
- </choose>
- count( rel.DELIVER_DATE ) num
- FROM
- mde_position_cv_rel rel
- WHERE
- rel.PUBLISHER = #{userCode}
- <![CDATA[ AND rel.DELIVER_DATE >= #{from}
- AND rel.DELIVER_DATE <= #{to} ]]>
- <choose>
- <when test='ymd =="d"'>
- GROUP BY rel.DELIVER_DATE
- ) cvHis ON cvHis.deliverDate = a.WRIT_DATE
- </when>
- <when test='ymd =="m"'>
- GROUP BY date_format( rel.DELIVER_DATE , '%Y-%m' )
- ) cvHis ON cvHis.deliverDate = date_format( a.WRIT_DATE, '%Y-%m' )
- </when>
- <when test='ymd =="y"'>
- GROUP BY date_format( rel.DELIVER_DATE , '%Y' )
- ) cvHis ON cvHis.deliverDate = date_format( a.WRIT_DATE, '%Y' )
- </when>
- <otherwise>
- GROUP BY rel.DELIVER_DATE
- ) cvHis ON cvHis.deliverDate = a.WRIT_DATE
- </otherwise>
- </choose>
- WHERE
- job.PUBLISHER = #{userCode}
- <![CDATA[
- AND a.WRIT_DATE >= #{from}
- AND a.WRIT_DATE <= #{to}
- ]]>
- <if test="jobId != null and jobId != 0 ">
- AND a.JOB_ID = #{jobId}
- </if>
- <choose>
- <when test='ymd =="d"'>
- GROUP BY a.WRIT_DATE
- </when>
- <when test='ymd =="m"'>
- GROUP BY date_format( a.WRIT_DATE, '%Y-%m' )
- </when>
- <when test='ymd =="y"'>
- GROUP BY date_format( a.WRIT_DATE, '%Y' )
- </when>
- <otherwise>
- GROUP BY a.WRIT_DATE
- </otherwise>
- </choose>
- ORDER BY
- a.WRIT_DATE
- </select>
- <select id="findGeneralPvByDate" resultType="java.lang.Integer">
- <!-- 点击量 -->
- SELECT
- SUM( a.PAGE_VIEW ) as num
- FROM
- mde_job_advertised job
- inner join
- mde_job_pv_uv a on job.JOB_ID = a.JOB_ID
- WHERE
- job.PUBLISHER = #{userCode}
- <![CDATA[
- AND a.WRIT_DATE >= #{from}
- AND a.WRIT_DATE <= #{to}
- ]]>
- <if test="jobId != null and jobId != 0 ">
- AND a.JOB_ID = #{jobId}
- </if>
- </select>
- </mapper>
|