Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

yanliming 1 rok temu
rodzic
commit
23df31c06b

+ 3 - 0
common/src/main/java/com/jpsoft/employment/modules/base/entity/JobInformationInfo.java

@@ -90,4 +90,7 @@ public class JobInformationInfo {
 	@Transient
 	@ApiModelProperty(value = "学历翻译")
 	private String educationN;
+
+	@ApiModelProperty(value = "浏览次数")
+	private Integer browseNumber;
 }

+ 7 - 0
common/src/main/java/com/jpsoft/employment/modules/base/entity/RecruitPersonRelation.java

@@ -72,4 +72,11 @@ public class RecruitPersonRelation {
 	@Transient
 	@ApiModelProperty(value = "信息")
 	private RecruitInformationInfo recruitInformationInfo;
+
+	@Transient
+	@ApiModelProperty(value = "用户信息")
+	private PersonInfo workPersonInfo;
+	@Transient
+	@ApiModelProperty(value = "用户简历")
+	private JobInformationInfo jobInformationInfo;
 }

+ 5 - 0
common/src/main/resources/mapper/base/JobEnterpriseRelation.xml

@@ -101,10 +101,12 @@
 			FROM
 				base_job_enterprise_relation a
 				LEFT JOIN base_enterprise_info b ON a.enterprise_id = b.id_
+				LEFT JOIN base_job_information_info c ON a.job_information_id = c.id_
 		]]>
 		<where>
 			a.del_flag = 0
 			AND b.del_flag = 0
+			and c.del_flag = 0
 			<if test="searchParams.informationId != null">
 				and a.job_information_id = #{searchParams.informationId}
 			</if>
@@ -114,6 +116,9 @@
 			<if test="searchParams.recruitInformationId != null">
 				and a.recruit_information_id = #{searchParams.recruitInformationId}
 			</if>
+			<if test="searchParams.personId != null">
+				and c.person_id = #{searchParams.personId}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 			${sort.name} ${sort.order}

+ 7 - 1
common/src/main/resources/mapper/base/JobInformationInfo.xml

@@ -20,6 +20,7 @@
 			<result property="updateBy" column="update_by" />
 			<result property="updateTime" column="update_time" />
 			<result property="delFlag" column="del_flag" />
+			<result property="browseNumber" column="browse_number" />
 			</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.employment.modules.base.entity.JobInformationInfo">
 	<!--
@@ -29,7 +30,8 @@
 	-->
 	<![CDATA[
 		insert into base_job_information_info
-	    (id_,person_id,photo_,service_desc,Intended_industries,Intended_position,hope_salary,method_,work_experience,education_,status_,create_by,create_time,update_by,update_time,del_flag)
+	    (id_,person_id,photo_,service_desc,Intended_industries,Intended_position,
+	    hope_salary,method_,work_experience,education_,status_,create_by,create_time,update_by,update_time,del_flag,browse_number)
 		values
 		(
 #{id,jdbcType=VARCHAR}
@@ -48,6 +50,7 @@
 ,#{updateBy,jdbcType=VARCHAR}
 ,#{updateTime,jdbcType= TIMESTAMP }
 ,#{delFlag,jdbcType= NUMERIC }
+,#{browseNumber,jdbcType= NUMERIC }
 		)
 	]]>
 	</insert>
@@ -102,6 +105,9 @@
 				<if test="delFlag!=null">
 		del_flag=#{delFlag,jdbcType= NUMERIC },
 		</if>
+			<if test="browseNumber!=null">
+				browse_number=#{browseNumber,jdbcType= NUMERIC },
+			</if>
 		</set>
 	where id_=#{id}
 	</update>

+ 3 - 0
common/src/main/resources/mapper/base/RecruitPersonRelation.xml

@@ -141,6 +141,9 @@
 			<if test="searchParams.enterpriseId != null">
 				and c.enterprise_id = #{searchParams.enterpriseId}
 			</if>
+			<if test="searchParams.personId != null">
+				and a.work_person_id = #{searchParams.personId}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 			${sort.name} ${sort.order}

+ 81 - 7
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/JobApiController.java

@@ -226,14 +226,46 @@ public class JobApiController {
             JobInformationInfo jobInformationInfo = jobInformationInfoService.get(id);
             PersonInfo personInfo = null;
             if(jobInformationInfo != null) {
+                int BrowseNumber = 0;
+                if(jobInformationInfo.getBrowseNumber() != null){
+                    BrowseNumber = jobInformationInfo.getBrowseNumber();
+                }
+                BrowseNumber++;
+                jobInformationInfo.setBrowseNumber(BrowseNumber);
+                jobInformationInfoService.update(jobInformationInfo);
+
                 personInfo = personInfoService.get(jobInformationInfo.getPersonId());
+
+                String intendedIndustriesN = dataDictionaryService.findNameByCatalogNameAndValue("意向行业",jobInformationInfo.getIntendedIndustries());
+                if(StringUtils.isNotEmpty(intendedIndustriesN)){
+                    jobInformationInfo.setIntendedIndustriesN(intendedIndustriesN);
+                }
+
+                String methodN = dataDictionaryService.findNameByCatalogNameAndValue("结算方式",jobInformationInfo.getMethod());
+                if(StringUtils.isNotEmpty(methodN)){
+                    jobInformationInfo.setMethodN(methodN);
+                }
+
+                String workExperienceN = dataDictionaryService.findNameByCatalogNameAndValue("工作经验",jobInformationInfo.getWorkExperience());
+                if(StringUtils.isNotEmpty(workExperienceN)){
+                    jobInformationInfo.setWorkExperienceN(workExperienceN);
+                }
+
+
+                String educationN = dataDictionaryService.findNameByCatalogNameAndValue("学历",jobInformationInfo.getEducation());
+                if(StringUtils.isNotEmpty(educationN)){
+                    jobInformationInfo.setEducationN(educationN);
+                }
             }
 
             Boolean isInvite = false;
             //是否已邀请
             PersonInfo user = personInfoService.get(subject);
             if(user != null){
-                jobEnterpriseRelationService.findByEnterpriseIdAndJobInformationId(user.getEnterpriseId(),id);
+                JobEnterpriseRelation jobEnterpriseRelation = jobEnterpriseRelationService.findByEnterpriseIdAndJobInformationId(user.getEnterpriseId(),id);
+                if(jobEnterpriseRelation != null) {
+                    isInvite = true;
+                }
             }
 
             returnMap.put("jobInformationInfo",jobInformationInfo);
@@ -273,6 +305,10 @@ public class JobApiController {
                 throw new Exception("未找到信息");
             }
 
+            JobInformationInfo jobInformationInfo = jobInformationInfoService.findByPersonId(personInfo.getId());
+            if(jobInformationInfo == null) {
+                throw new Exception("未创建简历");
+            }
             RecruitPersonRelation recruitPersonRelation = recruitPersonRelationService.findByRecruitIdAndPersonId(recruitId,personInfo.getId());
             if(recruitPersonRelation == null){
                 recruitPersonRelation = new RecruitPersonRelation();
@@ -282,6 +318,7 @@ public class JobApiController {
                 recruitPersonRelation.setCreateTime(new Date());
                 recruitPersonRelation.setRecruitInformationId(recruitId);
                 recruitPersonRelation.setWorkPersonId(subject);
+                recruitPersonRelation.setJobInformationId(jobInformationInfo.getId());
 
                 int count = recruitPersonRelationService.insert(recruitPersonRelation);
 
@@ -329,19 +366,56 @@ public class JobApiController {
             sortList.add(new Sort("create_time","desc"));
 
             if("0".equals(type)){
-                Page<RecruitPersonRelation> page = recruitPersonRelationService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
+                searchParams.put("personId",subject);
+
+                Page<RecruitPersonRelation> page = recruitPersonRelationService.pageSearchMobile(searchParams, pageIndex, pageSize, true, sortList);
+                for (RecruitPersonRelation recruitPersonRelation : page.getResult()){
+                    RecruitInformationInfo recruitInformationInfo = recruitInformationInfoService.get(recruitPersonRelation.getRecruitInformationId());
+                    EnterpriseInfo enterpriseInfo = enterpriseInfoService.get(recruitInformationInfo.getEnterpriseId());
+                    if(enterpriseInfo!=null){
+                        recruitInformationInfo.setEnterpriseName(enterpriseInfo.getName());
+                    }
+
+                    String industryN = dataDictionaryService.findNameByCatalogNameAndValue("意向行业",recruitInformationInfo.getIndustry());
+                    if(StringUtils.isNotEmpty(industryN)){
+                        recruitInformationInfo.setIndustryN(industryN);
+                    }
+
+                    String settlementMethodN = dataDictionaryService.findNameByCatalogNameAndValue("结算方式",recruitInformationInfo.getSettlementMethod());
+                    if(StringUtils.isNotEmpty(settlementMethodN)){
+                        recruitInformationInfo.setSettlementMethodN(settlementMethodN);
+                    }
+
+                    PersonInfo workPersonInfo = personInfoService.get(recruitPersonRelation.getWorkPersonId());
+                    recruitPersonRelation.setWorkPersonInfo(workPersonInfo);
+                    recruitPersonRelation.setRecruitInformationInfo(recruitInformationInfo);
+                }
 
                 msgResult.setResult(true);
                 msgResult.setData(PojoUtils.pageWrapper(page));
 
             }else if("1".equals(type)){
-                Page<JobInformationInfo> page = jobInformationInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+                searchParams.put("personId",subject);
+
+                Page<JobEnterpriseRelation> page = jobEnterpriseRelationService.pageSearchMobile(searchParams,pageIndex,pageSize,true,sortList);
+
+                for (JobEnterpriseRelation jobEnterpriseRelation:page) {
+                    RecruitInformationInfo recruitInformationInfo = recruitInformationInfoService.get(jobEnterpriseRelation.getRecruitInformationId());
+                    EnterpriseInfo enterpriseInfo = enterpriseInfoService.get(recruitInformationInfo.getEnterpriseId());
+                    if(enterpriseInfo!=null){
+                        recruitInformationInfo.setEnterpriseName(enterpriseInfo.getName());
+                    }
+
+                    String industryN = dataDictionaryService.findNameByCatalogNameAndValue("意向行业",recruitInformationInfo.getIndustry());
+                    if(StringUtils.isNotEmpty(industryN)){
+                        recruitInformationInfo.setIndustryN(industryN);
+                    }
 
-                for (JobInformationInfo jobInformationInfo:page) {
-                    String methodN = dataDictionaryService.findNameByCatalogNameAndValue("结算方式",jobInformationInfo.getMethod());
-                    if(StringUtils.isNotEmpty(methodN)){
-                        jobInformationInfo.setMethodN(methodN);
+                    String settlementMethodN = dataDictionaryService.findNameByCatalogNameAndValue("结算方式",recruitInformationInfo.getSettlementMethod());
+                    if(StringUtils.isNotEmpty(settlementMethodN)){
+                        recruitInformationInfo.setSettlementMethodN(settlementMethodN);
                     }
+                    jobEnterpriseRelation.setRecruitInformationInfo(recruitInformationInfo);
                 }
                 msgResult.setResult(true);
                 msgResult.setData(PojoUtils.pageWrapper(page));

+ 17 - 5
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitApiController.java

@@ -136,10 +136,10 @@ public class RecruitApiController {
             Map<String,Object> searchParams = new HashMap<>();
 
             List<Sort> sortList = new ArrayList<>();
-            sortList.add(new Sort("a.update_time","desc"));
-            sortList.add(new Sort("a.create_time","desc"));
 
             if("0".equals(status)){
+                sortList.add(new Sort("a.update_time","desc"));
+                sortList.add(new Sort("a.create_time","desc"));
                 if (StringUtils.isNotEmpty(content)) {
                     searchParams.put("content","%" + content.trim() + "%");
                 }
@@ -170,9 +170,6 @@ public class RecruitApiController {
                 if (StringUtils.isNotEmpty(content)) {
                     searchParams.put("content","%" + content.trim() + "%");
                 }
-                if (StringUtils.isNotEmpty(statusType)) {
-                    searchParams.put("method",statusType);
-                }
 
                 if (StringUtils.isNotEmpty(salaryStart)) {
                     searchParams.put("salaryStart",salaryStart);
@@ -185,6 +182,15 @@ public class RecruitApiController {
                     searchParams.put("workExp",workExp);
                 }
 
+                if ("2".equals(statusType)) {
+                    sortList.add(new Sort("a.browse_number","asc"));
+                    sortList.add(new Sort("a.update_time","desc"));
+                    sortList.add(new Sort("a.create_time","desc"));
+                }else{
+                    sortList.add(new Sort("a.update_time","desc"));
+                    sortList.add(new Sort("a.create_time","desc"));
+                }
+
                 searchParams.put("status","1");
                 Page<JobInformationInfo> page = jobInformationInfoService.pageSearchMobile(searchParams,pageIndex,pageSize,true,sortList);
                 for (JobInformationInfo jobInformationInfo:page) {
@@ -672,6 +678,12 @@ public class RecruitApiController {
                     recruitInformationInfo.setIndustryN(dataDictionaryService.findNameByCatalogNameAndValue("意向行业",recruitInformationInfo.getIndustry()));
                     recruitInformationInfo.setSettlementMethodN(dataDictionaryService.findNameByCatalogNameAndValue("结算方式",recruitInformationInfo.getSettlementMethod()));
 
+                    PersonInfo workPersonInfo = personInfoService.get(recruitPersonRelation.getWorkPersonId());
+                    recruitPersonRelation.setWorkPersonInfo(workPersonInfo);
+
+                    JobInformationInfo jobInformationInfo = jobInformationInfoService.get(recruitPersonRelation.getJobInformationId());
+                    recruitPersonRelation.setJobInformationInfo(jobInformationInfo);
+
                     recruitPersonRelation.setRecruitInformationInfo(recruitInformationInfo);
                 }
                 msgResult.setResult(true);

+ 6 - 0
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/UserApiController.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.jpsoft.employment.exception.CustomException;
 import com.jpsoft.employment.modules.base.entity.*;
 import com.jpsoft.employment.modules.base.service.EnterpriseInfoService;
+import com.jpsoft.employment.modules.base.service.JobInformationInfoService;
 import com.jpsoft.employment.modules.base.service.PersonInfoService;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.common.utils.DES3;
@@ -46,6 +47,8 @@ public class UserApiController {
     private PersonInfoService personInfoService;
     @Autowired
     private EnterpriseInfoService enterpriseInfoService;
+    @Autowired
+    private JobInformationInfoService jobInformationInfoService;
 
 
 
@@ -61,9 +64,12 @@ public class UserApiController {
 
                 EnterpriseInfo enterpriseInfo = enterpriseInfoService.get(regUser.getEnterpriseId());
 
+                JobInformationInfo jobInformationInfo = jobInformationInfoService.findByPersonId(regUser.getId());
+
                 Map<String, Object> dataMap = new HashMap<String, Object>();
                 dataMap.put("regUser", regUser);
                 dataMap.put("enterpriseInfo", enterpriseInfo);
+                dataMap.put("jobInformationInfo", jobInformationInfo);
                 dataMap.put("token", token);
 
                 msgResult.setData(dataMap);