소스 검색

Merge branches 'master' and 'master' of http://47.92.161.104:10080/shuzhan/jp-employment-server

# Conflicts:
#	common/src/main/java/com/jpsoft/employment/modules/job/dao/UserBrowseDAO.java
#	common/src/main/java/com/jpsoft/employment/modules/job/dao/UserCollectionDAO.java
zhengkaixin 4 년 전
부모
커밋
22647e6903

+ 2 - 2
common/src/main/java/com/jpsoft/employment/modules/job/dao/UserBrowseDAO.java

@@ -17,6 +17,6 @@ public interface UserBrowseDAO {
 	UserBrowse get(String id);
 	int delete(String id);
 	List<UserBrowse> list();
-	List<UserBrowse> search(@Param("searchParams") Map<String,Object> searchParams, @Param("sortList")List<Sort> sortList);
-	List<Recruitment> loadUserBrowses(Map<String,Object> searchParams, List<Sort> sortList);
+	List<UserBrowse> search(Map<String, Object> searchParams, List<Sort> sortList);
+	List<Recruitment> loadUserBrowses(Map<String, Object> searchParams, List<Sort> sortList);
 }

+ 5 - 2
common/src/main/java/com/jpsoft/employment/modules/job/dao/UserCollectionDAO.java

@@ -1,6 +1,8 @@
 package com.jpsoft.employment.modules.job.dao;
 
 import java.util.List;
+
+import com.jpsoft.employment.modules.job.entity.Recruitment;
 import org.springframework.stereotype.Repository;
 import com.jpsoft.employment.modules.job.entity.UserCollection;
 import java.util.Map;
@@ -15,7 +17,8 @@ public interface UserCollectionDAO {
 	UserCollection get(String id);
 	int delete(String id);
 	List<UserCollection> list();
-	List<UserCollection> search(@Param("searchParams") Map<String,Object> searchParams, @Param("sortList")List<Sort> sortList);
-	UserCollection findByUserIdAndRId(String userId,String recruitmentId);
+	List<UserCollection> search(Map<String, Object> searchParams, List<Sort> sortList);
+	UserCollection findByUserIdAndRId(String userId, String recruitmentId);
 	List<UserCollection> findByUserId(String userId);
+	List<Recruitment> loadUserCollection(Map<String, Object> searchParams, List<Sort> sortList);
 }

+ 105 - 0
common/src/main/java/com/jpsoft/employment/modules/job/entity/RecruitmentVO.java

@@ -0,0 +1,105 @@
+package com.jpsoft.employment.modules.job.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+  描述:job_recruitment的VO
+ */
+@Data
+public class RecruitmentVO {
+
+	@ApiModelProperty(value = "ID")
+	private String id;
+
+	@ApiModelProperty(value = "企业ID")
+	private String companyId;
+
+	@ApiModelProperty(value = "标题")
+	private String title;
+
+	@ApiModelProperty(value = "招聘所属地区")
+	private String area;
+
+	@ApiModelProperty(value = "地址")
+	private String address;
+
+	@ApiModelProperty(value = "职位")
+	private String position;
+
+	@ApiModelProperty(value = "职位名称")
+	private String positionName;
+
+	@ApiModelProperty(value = "职位描述")
+	private String positionMessage;
+
+	@ApiModelProperty(value = "任职要求")
+	private String requirements;
+
+
+	@ApiModelProperty(value = "求职人数")
+	private Integer positionNumber;
+
+	@ApiModelProperty(value = "工作年限")
+	private String workYear;
+
+	@ApiModelProperty(value = "学历要求")
+	private String education;
+
+	@ApiModelProperty(value = "性别要求")
+	private String positionSex;
+
+	@ApiModelProperty(value = "性别要求")
+	private Integer readTimes;
+
+	@ApiModelProperty(value = "薪资")
+	private String wageType;
+
+	@ApiModelProperty(value = "是否面议")
+	private Boolean isDiscussPersonally;
+
+	@ApiModelProperty(value = "联系人")
+	private String contactPerson;
+
+	@ApiModelProperty(value = "联系方式")
+	private String tel;
+
+	@ApiModelProperty(value = "状态(关闭,开启等)")
+	private String status;
+
+	@ApiModelProperty(value = "审批状态")
+	private String approveStatus;
+
+	@ApiModelProperty(value = "阅读次数")
+	private Integer readingTimes;
+
+	@ApiModelProperty(value = "收藏次数")
+	private Integer collectionTimes;
+
+	@ApiModelProperty(value = "投递次数")
+	private Integer deliveryTimes;
+
+	@ApiModelProperty(value = "创建人")
+	private String createBy;
+
+	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	@ApiModelProperty(value = "创建时间")
+	private Date createTime;
+
+	@ApiModelProperty(value = "更新人")
+	private String updateBy;
+
+	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	@ApiModelProperty(value = "更新时间")
+	private Date updateTime;
+
+	@ApiModelProperty(value = "是否删除")
+	private Boolean delFlag;
+
+}

+ 1 - 1
common/src/main/java/com/jpsoft/employment/modules/job/entity/ResumeDeliver.java

@@ -51,7 +51,7 @@ public class ResumeDeliver {
 	@ApiModelProperty(value = "投递的招聘信息")
 	private Recruitment jobRecruitment;
 
-	@ApiModelProperty(value = "简历状态(已投递,已查看,邀请面试等)")
+	@ApiModelProperty(value = "废弃")
 	private String status;
 
 	@ApiModelProperty(value = "沟通状态")

+ 77 - 0
common/src/main/java/com/jpsoft/employment/modules/job/entity/ResumeVO.java

@@ -0,0 +1,77 @@
+package com.jpsoft.employment.modules.job.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+  描述:job_resume的VO类
+ */
+@Data
+public class ResumeVO {
+
+	@ApiModelProperty(value = "ID")
+	private String id;
+
+	@ApiModelProperty(value = "创建人")
+	private String createBy;
+
+	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	@ApiModelProperty(value = "创建时间")
+	private Date createTime;
+
+	@ApiModelProperty(value = "更新人")
+	private String updateBy;
+
+	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	@ApiModelProperty(value = "更新时间")
+	private Date updateTime;
+
+	@ApiModelProperty(value = "是否删除")
+	private Boolean delFlag;
+
+	@ApiModelProperty(value = "用户ID")
+	private String jobUserId;
+
+	@ApiModelProperty(value = "性别")
+	private String sex;
+
+	@ApiModelProperty(value = "职位分类")
+	private String positionCategoryId;
+
+	@ApiModelProperty(value = "职位分类名称")
+	private String positionCategoryName;
+
+	@ApiModelProperty(value = "工作经验")
+	private String workExp;
+
+	@ApiModelProperty(value = "学历")
+	private String education;
+
+	@ApiModelProperty(value = "期望薪资")
+	private String dreamMoney;
+
+	@ApiModelProperty(value = "期望工作地点")
+	private String dreamAdd;
+
+	@DateTimeFormat(pattern="yyyy-MM-dd")
+	@JsonFormat(pattern = "yyyy-MM-dd",timezone ="GMT+8")
+	@ApiModelProperty(value = "出生日期")
+	private Date birthday;
+
+	@ApiModelProperty(value = "个人介绍")
+	private String introduction;
+
+
+	@ApiModelProperty(value = "简历状态(开启,审核,等")
+	private String status;
+
+	@ApiModelProperty(value = "审批状态")
+	private String approveStatus;
+
+}

+ 4 - 1
common/src/main/java/com/jpsoft/employment/modules/job/service/UserCollectionService.java

@@ -2,6 +2,8 @@ package com.jpsoft.employment.modules.job.service;
 
 import java.util.List;
 import java.util.Map;
+
+import com.jpsoft.employment.modules.job.entity.Recruitment;
 import com.jpsoft.employment.modules.job.entity.UserCollection;
 import com.github.pagehelper.Page;
 import com.jpsoft.employment.modules.common.dto.Sort;
@@ -14,6 +16,7 @@ public interface UserCollectionService {
 	int delete(String id);
 	List<UserCollection> list();
 	Page<UserCollection> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
-	UserCollection findByUserIdAndRId(String userId,String recruitmentId);
+	UserCollection findByUserIdAndRId(String userId, String recruitmentId);
 	List<UserCollection> findByUserId(String userId);
+	Page<Recruitment> loadUserCollection(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 }

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/impl/UserBrowseServiceImpl.java

@@ -78,4 +78,6 @@ public class UserBrowseServiceImpl implements UserBrowseService {
 
 		return page;
 	}
+
+
 }

+ 11 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/impl/UserCollectionServiceImpl.java

@@ -4,6 +4,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import javax.annotation.Resource;
+
+import com.jpsoft.employment.modules.job.entity.Recruitment;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 import com.jpsoft.employment.modules.job.dao.UserCollectionDAO;
@@ -76,4 +78,13 @@ public class UserCollectionServiceImpl implements UserCollectionService {
 	public List<UserCollection> findByUserId(String userId){
 		return userCollectionDAO.findByUserId(userId);
 	}
+
+	@Override
+	public Page<Recruitment> loadUserCollection(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList) {
+		Page<Recruitment> page = PageHelper.startPage(pageNum, pageSize, count).doSelectPage(() -> {
+			userCollectionDAO.loadUserCollection(searchParams, sortList);
+		});
+
+		return page;
+	}
 }

+ 71 - 50
common/src/main/resources/mapper/job/Recruitment.xml

@@ -5,33 +5,35 @@
 <mapper namespace="com.jpsoft.employment.modules.job.dao.RecruitmentDAO">
 	<resultMap id="RecruitmentMap" type="com.jpsoft.employment.modules.job.entity.Recruitment">
 		<id property="id" column="id_" />
-		<result property="companyId" column="company_id" />
-		<result property="title" column="title_" />
-		<result property="area" column="area_" />
-		<result property="address" column="address_" />
-		<result property="position" column="position_" />
-		<result property="positionMessage" column="position_message" />
-		<result property="requirements" column="requirements_" />
-		<result property="positionNumber" column="position_number" />
-		<result property="workYear" column="work_year" />
-		<result property="education" column="education_" />
-		<result property="positionSex" column="position_sex" />
-		<result property="readTimes" column="read_times" />
-		<result property="wageType" column="wage_type" />
-		<result property="isDiscussPersonally" column="is_discuss_personally" />
-		<result property="contactPerson" column="contact_person" />
-		<result property="tel" column="tel_" />
-		<result property="status" column="status_" />
-		<result property="approveStatus" column="approve_status" />
-		<result property="readingTimes" column="reading_times" />
-		<result property="collectionTimes" column="collection_times" />
-		<result property="deliveryTimes" column="delivery_times" />
-		<result property="createBy" column="create_by" />
-		<result property="createTime" column="create_time" />
-		<result property="updateBy" column="update_by" />
-		<result property="updateTime" column="update_time" />
-		<result property="delFlag" column="del_flag" />
-		<result property="workCategoryId" column="work_category_id" />
+			<result property="companyId" column="company_id" />
+			<result property="title" column="title_" />
+			<result property="area" column="area_" />
+			<result property="address" column="address_" />
+			<result property="position" column="position_" />
+			<result property="positionMessage" column="position_message" />
+			<result property="requirements" column="requirements_" />
+			<result property="positionNumber" column="position_number" />
+			<result property="workYear" column="work_year" />
+			<result property="education" column="education_" />
+			<result property="positionSex" column="position_sex" />
+			<result property="readTimes" column="read_times" />
+			<result property="wageType" column="wage_type" />
+			<result property="isDiscussPersonally" column="is_discuss_personally" />
+			<result property="contactPerson" column="contact_person" />
+			<result property="tel" column="tel_" />
+			<result property="status" column="status_" />
+			<result property="approveStatus" column="approve_status" />
+			<result property="readingTimes" column="reading_times" />
+			<result property="collectionTimes" column="collection_times" />
+			<result property="deliveryTimes" column="delivery_times" />
+			<result property="createBy" column="create_by" />
+			<result property="createTime" column="create_time" />
+			<result property="updateBy" column="update_by" />
+			<result property="updateTime" column="update_time" />
+			<result property="delFlag" column="del_flag" />
+	</resultMap>
+	<resultMap id="RecruitmentVOMap" type="com.jpsoft.employment.modules.job.entity.RecruitmentVO" extends="RecruitmentMap">
+		<result property="positionName" column="position_name" />
 	</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.employment.modules.job.entity.Recruitment">
 	<!--
@@ -41,7 +43,7 @@
 	-->
 	<![CDATA[
 		insert into job_recruitment
-	    (id_,company_id,title_,area_,address_,position_,position_message,requirements_,position_number,work_year,education_,position_sex,read_times,wage_type,is_discuss_personally,contact_person,tel_,status_,approve_status,reading_times,collection_times,delivery_times,create_by,create_time,update_by,update_time,del_flag,work_category_id)
+	    (id_,company_id,title_,area_,address_,position_,position_message,requirements_,position_number,work_year,education_,position_sex,read_times,wage_type,is_discuss_personally,contact_person,tel_,status_,approve_status,reading_times,collection_times,delivery_times,create_by,create_time,update_by,update_time,del_flag)
 		values
 		(
 #{id,jdbcType=VARCHAR}
@@ -71,7 +73,6 @@
 ,#{updateBy,jdbcType=VARCHAR}
 ,#{updateTime,jdbcType= TIMESTAMP }
 ,#{delFlag,jdbcType= NUMERIC }
-,#{workCategoryId,jdbcType= VARCHAR }
 		)
 	]]>
 	</insert>
@@ -159,15 +160,11 @@
 				<if test="delFlag!=null">
 		del_flag=#{delFlag,jdbcType= NUMERIC },
 		</if>
-			<if test="workCategoryId!=null">
-				work_category_id=#{workCategoryId,jdbcType= VARCHAR },
-			</if>
 		</set>
 	where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="RecruitmentMap">
-		select 
-id_,company_id,title_,area_,address_,position_,position_message,requirements_,position_number,work_year,education_,position_sex,read_times,wage_type,is_discuss_personally,contact_person,tel_,status_,approve_status,reading_times,collection_times,delivery_times,create_by,create_time,update_by,update_time,del_flag,work_category_id		from job_recruitment where id_=#{0}
+		select * from job_recruitment where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from job_recruitment where id_=#{0}
@@ -180,14 +177,15 @@ id_,company_id,title_,area_,address_,position_,position_message,requirements_,po
 			select * from job_recruitment
 		]]>
 		<where>
+			del_flag = 0
 			<if test="searchParams.id != null">
 				and ID_ like #{searchParams.id}
 			</if>
-			<if test="searchParams.status != null">
-				and status_ = #{searchParams.status}
+			<if test="searchParams.relevantTitle != null">
+				and title_ like #{searchParams.relevantTitle}
 			</if>
-			<if test="searchParams.approveStatus != null">
-				and approve_status = #{searchParams.approveStatus}
+			<if test="searchParams.notrelevantId != null">
+				and id_ != #{searchParams.notrelevantId}
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
@@ -205,8 +203,7 @@ id_,company_id,title_,area_,address_,position_,position_message,requirements_,po
 				bc.logo_ AS logo,
 				bc.name_ AS name,
 				sdd.name_ AS scaleName,
-				bci.city_name AS cityName,
-				jwc.name_ AS code
+				bci.city_name AS cityName
 			FROM
 				job_recruitment AS jr
 			INNER JOIN base_company AS bc
@@ -215,7 +212,6 @@ id_,company_id,title_,area_,address_,position_,position_message,requirements_,po
 			INNER JOIN job_work_category AS jwc ON jr.company_id = bc.id_
 			AND bc.scale_ = sdd.id_
 			AND jr.area_ = bci.id_
-			AND jr.position_ = jwc.id_
 		]]>
 		<where>
 			<if test="searchParams.id != null">
@@ -234,23 +230,48 @@ id_,company_id,title_,area_,address_,position_,position_message,requirements_,po
 				and jr.education_ like #{searchParams.education}
 			</if>
 			<if test="searchParams.recruitmentPosition != null">
-				and jr.position_ like #{searchParams.recruitmentPosition}
+				and jwc.id_ like #{searchParams.recruitmentPosition}
 			</if>
-			<if test="searchParams.relevantTitle != null">
-				and jr.title_ like #{searchParams.relevantTitle}
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+			${sort.name} ${sort.order}
+		</foreach>
+	</select>
+
+	<!--招聘方职位管理-->
+	<select id="loadForRecruiter" parameterType="hashMap" resultType="RecruitmentVOMap">
+		<![CDATA[
+			SELECT
+				jr.*,
+				jwc.name_  position_name
+			FROM
+				job_recruitment jr
+			INNER JOIN job_work_category  jwc ON jr.position_ = jwc.id_
+			where jr.del_flag=0  and jwc.del_flag=0
+		]]>
+		<where>
+			<if test="searchParams.recruiter != null"> <!--按创建人(招聘人)过滤-->
+				and jr.create_by=#{searchParams.recruiter}
 			</if>
-			<if test="searchParams.notrelevantId != null">
-				and jr.id_ != #{searchParams.notrelevantId}
+			<if test='searchParams.status =="publish"'> <!--按招聘状态过滤publish:已发布且审核完;approve:审核中;close:关闭下架-->
+				and jr.status_='open'  and jr.approve_status='94905388-a409-4096-a842-5128823250c5'
 			</if>
-			<if test="searchParams.status != null">
-				and jr.status_ = #{searchParams.status}
+			<if test='searchParams.status =="approve"'>
+				and jr.status_='open' and jr.approve_status='eeba3cbf-80b3-4db9-a9e6-695f00c087b5'
 			</if>
-			<if test="searchParams.approveStatus != null">
-				and jr.approve_status = #{searchParams.approveStatus}
+			<if test='searchParams.status =="close"'>
+				and jr.status_='close'
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 			${sort.name} ${sort.order}
 		</foreach>
 	</select>
+
+	<!--招聘方个人中心主页:统计已发布的招聘,被浏览量(不包含已撤销的(已关闭的))-->
+	<select id="rptMyRecruitmentCount" parameterType="String" resultType="Map">
+		select count(1) recCount,sum(reading_times) readTimes from job_recruitment where create_by=#{0} and status_='open'
+	</select>
+
+
 </mapper>

+ 39 - 1
common/src/main/resources/mapper/job/RecruitmentCollection.xml

@@ -13,7 +13,29 @@
 			<result property="companyId" column="company_id" />
 			<result property="sysUserId" column="sys_user_id" />
 			<result property="resumeId" column="resume_id" />
-			</resultMap>
+	</resultMap>
+
+	<resultMap id="ResumeVOMap" type="com.jpsoft.employment.modules.job.entity.ResumeVO">
+		<id property="id" column="id_" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+		<result property="delFlag" column="del_flag" />
+		<result property="jobUserId" column="job_user_id" />
+		<result property="sex" column="sex_" />
+		<result property="positionCategoryId" column="position_category_id" />
+		<result property="positionCategoryName" column="position_category_name" />
+		<result property="workExp" column="work_exp" />
+		<result property="education" column="education_" />
+		<result property="dreamMoney" column="dream_money" />
+		<result property="dreamAdd" column="dream_add" />
+		<result property="birthday" column="birthday_" />
+		<result property="introduction" column="introduction_" />
+		<result property="status" column="status_" />
+		<result property="approveStatus" column="approve_status" />
+	</resultMap>
+
 	<insert id="insert" parameterType="com.jpsoft.employment.modules.job.entity.RecruitmentCollection">
 	<!--
 	<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
@@ -93,4 +115,20 @@ id_,create_by,create_time,update_by,update_time,del_flag,company_id,sys_user_id,
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+
+	<select id="pagedLoad" parameterType="hashMap" resultMap="ResumeVOMap">
+		<![CDATA[
+			select r.*,w.name_ position_category_name from job_recruitment_collection  c inner join job_resume  r on c.resume_id=r.id_
+			left join job_work_category w on r.position_category_id=w.id_
+			where c.sys_user_id = #{searchParams.recruiterId}
+		]]>
+		<where>
+			<if test="searchParams.positionName != null">
+				and w.name_ like #{searchParams.positionName}
+			</if>
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+			${sort.name} ${sort.order}
+		</foreach>
+	</select>
 </mapper>

+ 3 - 0
common/src/main/resources/mapper/job/ResumeDeliver.xml

@@ -102,6 +102,9 @@ id_,create_by,create_time,update_by,update_time,del_flag,job_user_id,job_resume_
 			<if test="searchParams.name != null">
 				and b.real_name like #{searchParams.name}
 			</if>
+			<if test="searchParams.chatStatus != null">
+				and a.chat_status = #{searchParams.chatStatus}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}

+ 44 - 1
common/src/main/resources/mapper/job/UserCollection.xml

@@ -12,7 +12,38 @@
 			<result property="delFlag" column="del_flag" />
 			<result property="jobUserId" column="job_user_id" />
 			<result property="jobRecruitmentId" column="job_recruitment_id" />
-			</resultMap>
+	</resultMap>
+
+	<resultMap id="RecruitmentMap" type="com.jpsoft.employment.modules.job.entity.Recruitment">
+		<id property="id" column="id_" />
+		<result property="companyId" column="company_id" />
+		<result property="title" column="title_" />
+		<result property="area" column="area_" />
+		<result property="address" column="address_" />
+		<result property="position" column="position_" />
+		<result property="positionMessage" column="position_message" />
+		<result property="requirements" column="requirements_" />
+		<result property="positionNumber" column="position_number" />
+		<result property="workYear" column="work_year" />
+		<result property="education" column="education_" />
+		<result property="positionSex" column="position_sex" />
+		<result property="readTimes" column="read_times" />
+		<result property="wageType" column="wage_type" />
+		<result property="isDiscussPersonally" column="is_discuss_personally" />
+		<result property="contactPerson" column="contact_person" />
+		<result property="tel" column="tel_" />
+		<result property="status" column="status_" />
+		<result property="approveStatus" column="approve_status" />
+		<result property="readingTimes" column="reading_times" />
+		<result property="collectionTimes" column="collection_times" />
+		<result property="deliveryTimes" column="delivery_times" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+		<result property="delFlag" column="del_flag" />
+	</resultMap>
+
 	<insert id="insert" parameterType="com.jpsoft.employment.modules.job.entity.UserCollection">
 	<!--
 	<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
@@ -101,4 +132,16 @@
 		where del_flag = 0
 		and job_user_id = #{userId}
 	</select>
+
+	<select id="loadUserCollection" parameterType="hashmap" resultMap="RecruitmentMap">
+		<![CDATA[
+			select j.* from job_user_collection b inner join job_recruitment j on b.job_recruitment_id=j.id_ and j.del_flag=0
+		]]>
+		<where>
+			and job_user_id = #{searchParams.jobUserId}
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+			${sort.name} ${sort.order}
+		</foreach>
+	</select>
 </mapper>

+ 10 - 0
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/ResumeApiController.java

@@ -201,6 +201,7 @@ public class ResumeApiController {
             rd.setJobRecruitmentId(recruitmentId);
             rd.setJobUserId(subject);
             rd.setStatus("0");
+            rd.setChatStatus("1");
 
             int inCount = resumeDeliverService.insert(rd);
             if(inCount > 0) {
@@ -278,6 +279,7 @@ public class ResumeApiController {
     @PostMapping("deliveryRecord")
     @ApiOperation(value = "投递记录")
     public MessageResult<Map> deliveryRecord(
+            @RequestParam(value="chatStatus",defaultValue="0") String chatStatus,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
             @RequestParam(value="pageSize",defaultValue="10") int pageSize,
             String token,
@@ -291,9 +293,17 @@ public class ResumeApiController {
             List<Sort> sortList = new ArrayList<>();
             sortList.add(new Sort("a.create_time","desc"));
 
+            if(StringUtils.isNotEmpty(chatStatus)) {
+                searchParams.put("chatStatus",chatStatus);
+            }
+
             Page<ResumeDeliver> page = resumeDeliverService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
             for(ResumeDeliver rd : page.getResult()){
                 Recruitment recruitment = recruitmentService.get(rd.getJobRecruitmentId());
+                String wageTypeName = dataDictionaryService.getName(recruitment.getWageType());
+                String workYearName = dataDictionaryService.getName(recruitment.getWorkYear());
+                recruitment.setWageTypeName(wageTypeName);
+                recruitment.setWorkYearName(workYearName);
                 rd.setJobRecruitment(recruitment);
             }