Browse Source

接口代码提交

xiao547607 4 years ago
parent
commit
719d106b4d

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

@@ -16,4 +16,6 @@ public interface ResumeDeliverDAO {
 	int delete(String id);
 	List<ResumeDeliver> list();
 	List<ResumeDeliver> search(@Param("searchParams") Map<String,Object> searchParams, @Param("sortList")List<Sort> sortList);
+
+	ResumeDeliver findByUserIdAndRecruitmentId(String userId,String recuitmentId,String chatStatus);
 }

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

@@ -19,4 +19,5 @@ public interface UserBrowseDAO {
 	List<UserBrowse> list();
 	List<UserBrowse> search(Map<String, Object> searchParams, List<Sort> sortList);
 	List<Recruitment> loadUserBrowses(Map<String, Object> searchParams, List<Sort> sortList);
+	int findNumberByRId(String recruitmentId);
 }

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

@@ -48,6 +48,7 @@ public class Recruitment {
     private String educationName;
         @ApiModelProperty(value = "性别要求")
     private String positionSex;
+    private String positionSexN;
         @ApiModelProperty(value = "")
     private Integer readTimes;
         @ApiModelProperty(value = "薪资")

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

@@ -14,4 +14,6 @@ public interface ResumeDeliverService {
 	int delete(String id);
 	List<ResumeDeliver> list();
 	Page<ResumeDeliver> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
+
+	ResumeDeliver findByUserIdAndRecruitmentId(String userId,String recuitmentId,String chatStatus);
 }

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/UserBrowseService.java

@@ -14,6 +14,7 @@ public interface UserBrowseService {
 	int insert(UserBrowse model);
 	int update(UserBrowse model);
 	int delete(String id);
+	int findNumberByRId(String recruitmentId);
 	List<UserBrowse> list();
 	Page<UserBrowse> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 	Page<Recruitment> loadUserBrowses(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);

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

@@ -67,4 +67,9 @@ public class ResumeDeliverServiceImpl implements ResumeDeliverService {
         
         return page;
 	}
+
+	@Override
+	public ResumeDeliver findByUserIdAndRecruitmentId(String userId,String recuitmentId,String chatStatus){
+		return resumeDeliverDAO.findByUserIdAndRecruitmentId(userId,recuitmentId,chatStatus);
+	}
 }

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

@@ -79,5 +79,10 @@ public class UserBrowseServiceImpl implements UserBrowseService {
 		return page;
 	}
 
+	@Override
+	public int findNumberByRId(String recruitmentId){
+		return userBrowseDAO.findNumberByRId(recruitmentId);
+	}
+
 
 }

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

@@ -84,7 +84,6 @@ public class UserCollectionServiceImpl implements UserCollectionService {
 		Page<Recruitment> page = PageHelper.startPage(pageNum, pageSize, count).doSelectPage(() -> {
 			userCollectionDAO.loadUserCollection(searchParams, sortList);
 		});
-
 		return page;
 	}
 }

+ 14 - 2
common/src/main/resources/mapper/job/ResumeDeliver.xml

@@ -81,8 +81,7 @@
 	where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="ResumeDeliverMap">
-		select 
-id_,create_by,create_time,update_by,update_time,del_flag,job_user_id,job_resume_id,job_recruitment_id,status_,chat_status		from job_resume_deliver where id_=#{0}
+		select * from job_resume_deliver where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from job_resume_deliver where id_=#{0}
@@ -110,4 +109,17 @@ id_,create_by,create_time,update_by,update_time,del_flag,job_user_id,job_resume_
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+	<select id="findByUserIdAndRecruitmentId" parameterType="string" resultMap="ResumeDeliverMap">
+		select * from job_resume_deliver
+		where del_flag = 0
+			and job_user_id = #{userId}
+			and job_recruitment_id = #{recuitmentId}
+			<if test="chatStatus != null">
+				<foreach item="chat" collection="chatStatus"  open="and chat_status not in (" separator="," close=")">
+					#{chat}
+				</foreach>
+			</if>
+
+		limit 1
+	</select>
 </mapper>

+ 11 - 2
common/src/main/resources/mapper/job/UserBrowse.xml

@@ -97,8 +97,7 @@
 	where id_=#{id}
 	</update>
 	<select id="get" parameterType="string" resultMap="UserBrowseMap">
-		select 
-id_,create_by,create_time,update_by,update_time,del_flag,job_user_id,job_recruitment_id		from job_user_browse where id_=#{0}
+		select * from job_user_browse where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from job_user_browse where id_=#{0}
@@ -147,4 +146,14 @@ id_,create_by,create_time,update_by,update_time,del_flag,job_user_id,job_recruit
 			${sort.name} ${sort.order}
 		</foreach>
 	</select>
+	<select id="findNumberByRId" parameterType="string" resultType="int">
+		SELECT
+			count( id_ )
+		FROM
+			job_user_browse
+		WHERE
+			job_recruitment_id = #{recruitmentId}
+			AND del_flag = 0
+	</select>
+
 </mapper>

+ 94 - 8
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitmentApiController.java

@@ -1,15 +1,16 @@
 package com.jpsoft.employment.modules.mobile.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.base.entity.City;
 import com.jpsoft.employment.modules.base.entity.Company;
+import com.jpsoft.employment.modules.base.service.CityService;
 import com.jpsoft.employment.modules.base.service.CompanyService;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
-import com.jpsoft.employment.modules.job.entity.Recruitment;
-import com.jpsoft.employment.modules.job.entity.WorkCategory;
-import com.jpsoft.employment.modules.job.service.RecruitmentService;
-import com.jpsoft.employment.modules.job.service.WorkCategoryService;
+import com.jpsoft.employment.modules.job.entity.*;
+import com.jpsoft.employment.modules.job.service.*;
+import com.jpsoft.employment.modules.sys.service.DataDictionaryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -42,6 +43,20 @@ public class RecruitmentApiController {
     @Autowired
     private CompanyService companyService;
 
+    @Autowired
+    private DataDictionaryService dataDictionaryService;
+
+    @Autowired
+    private CityService cityService;
+
+    @Autowired
+    private UserBrowseService userBrowseService;
+
+    @Autowired
+    private UserCollectionService usercollectionService;
+
+    @Autowired
+    private ResumeDeliverService resumeDeliverService;
 
     @PostMapping("getRecruitmentList")
     @ApiOperation(value = "求职主页")
@@ -124,21 +139,92 @@ public class RecruitmentApiController {
         return msgResult;
     }
 
-    @PostMapping("getRecruitmentDetails/{id}")
+    @PostMapping("getRecruitmentDetails")
     @ApiOperation(value = "招聘详情")
     public MessageResult<Map> getRecruitmentDetails(
-            @PathVariable("id") String id,
+            String recruitmentId,
             String token,
             @RequestAttribute  String subject){
 
         MessageResult<Map> msgResult = new MessageResult<>();
         Map<String, Object> map = new HashMap<>();
         try {
-            Recruitment recruitment = recruitmentService.get(id);
+            Recruitment recruitment = recruitmentService.get(recruitmentId);
+            if(recruitment == null){
+                msgResult.setResult(false);
+                msgResult.setMessage("查询错误!");
+                msgResult.setCode(400);
+                return msgResult;
+            }
+
+
+            int readingTimes = recruitment.getReadingTimes();
+            if(readingTimes < 0){
+                readingTimes = 1;
+            }else{
+                readingTimes++;
+            }
+
+            recruitment.setReadingTimes(readingTimes);
+            //保存点击热度
+            recruitmentService.update(recruitment);
+            //保存浏览记录
+            UserBrowse userBrowse = new UserBrowse();
+            userBrowse.setId(UUID.randomUUID().toString());
+            userBrowse.setCreateBy(subject);
+            userBrowse.setCreateTime(new Date());
+            userBrowse.setDelFlag(false);
+            userBrowse.setJobUserId(subject);
+            userBrowse.setJobRecruitmentId(recruitment.getId());
+            userBrowseService.insert(userBrowse);
+
+            //查询相关信息
             Company company = companyService.get(recruitment.getCompanyId());
+            recruitment.setCompanyName(company.getName());
+            recruitment.setCompanyLogo(company.getLogo());
+            recruitment.setCompanyScale(company.getScale());
+            String scaleN = dataDictionaryService.getName(company.getScale());
+            recruitment.setCompanyScaleN(scaleN);
+
+            City city = cityService.get(recruitment.getArea());
+            recruitment.setAreaN(city.getCityName());
+            //薪资要求
+            String wageTypeN = dataDictionaryService.getName(recruitment.getWageType());
+            recruitment.setWageTypeName(wageTypeN);
+            //性别要求
+            String sexN = dataDictionaryService.getName(recruitment.getPositionSex());
+            recruitment.setPositionSexN(sexN);
+            //工作年限
+            String workYearN = dataDictionaryService.getName(recruitment.getWorkYear());
+            recruitment.setWorkYearName(workYearN);
+            //学历要求
+            String educationN = dataDictionaryService.getName(recruitment.getEducation());
+            recruitment.setEducationName(educationN);
+
+            //热度
+//            int heatNum = userBrowseService.findNumberByRId(recruitment.getId());
+//            if(heatNum < 0 ){
+//                heatNum = 0;
+//            }
+
+            //收藏状态
+            UserCollection uc = usercollectionService.findByUserIdAndRId(subject,recruitment.getId());
+            Boolean collectionStatus = false;
+            if(uc != null){
+                collectionStatus = true;
+            }
+
+            //是否投递 排除状态为和6未录取
+            ResumeDeliver resumeDeliver = resumeDeliverService.findByUserIdAndRecruitmentId(subject,recruitment.getId(),"6");
+            Boolean deliveryStatus = false;
+            if(resumeDeliver != null){
+                deliveryStatus = true;
+            }
 
             map.put("recruitment",recruitment);
-            map.put("company",company);
+            map.put("collectionStatus",collectionStatus);
+            map.put("deliveryStatus",deliveryStatus);
+
 
             if (recruitment != null) {
                 msgResult.setResult(true);