Browse Source

Merge remote-tracking branch 'origin/master'

xiao547607 4 years ago
parent
commit
196649beab

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

@@ -15,4 +15,5 @@ public interface RecruitmentDAO {
 	int delete(String id);
 	List<Recruitment> list();
 	List<Recruitment> search(Map<String,Object> searchParams,List<Sort> sortList);
+	List<Map> foundPageList(Map<String,Object> searchParams,List<Sort> sortList);
 }

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

@@ -14,4 +14,5 @@ public interface RecruitmentService {
 	int delete(String id);
 	List<Recruitment> list();
 	Page<Recruitment> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
+	Page<Map> foundPageList(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 }

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

@@ -45,6 +45,15 @@ public class RecruitmentServiceImpl implements RecruitmentService {
 		return recruitmentDAO.delete(id);
 	}
 
+	@Override
+	public Page<Map> foundPageList(Map<String, Object> searchParams, int pageNumber, int pageSize, boolean count, List<Sort> sortList) {
+		Page<Map> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{
+			recruitmentDAO.foundPageList(searchParams,sortList);
+		});
+
+		return page;
+	}
+
 	@Override
 	public boolean exist(String id) {
 		// TODO Auto-generated method stub

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

@@ -178,9 +178,59 @@
 			<if test="searchParams.id != null">
 				and ID_ like #{searchParams.id}
 			</if>
+			<if test="searchParams.relevantTitle != null">
+				and title_ like #{searchParams.relevantTitle}
+			</if>
+			<if test="searchParams.notrelevantId != null">
+				and id_ != #{searchParams.notrelevantId}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+	<select id="foundPageList" parameterType="hashmap" resultType="map">
+		<![CDATA[
+			SELECT
+				jr.id_ AS id,
+				jr.title_ AS title,
+				jr.is_discuss_personally AS isDiscussPersonally,
+				jr.requirements_ AS requirements,
+				jr.address_ AS address,
+				bc.logo_ AS logo,
+				bc.name_ AS name,
+				sdd.name_ AS scaleName,
+				bci.city_name AS cityName
+			FROM
+				job_recruitment AS jr
+			INNER JOIN base_company AS bc
+			INNER JOIN sys_data_dictionary AS sdd
+			INNER JOIN base_city AS bci ON jr.company_id = bc.id_
+			AND bc.scale_ = sdd.id_
+			AND jr.area_ = bci.id_
+		]]>
+		<where>
+			<if test="searchParams.id != null">
+				and bc.id_ like #{searchParams.id}
+			</if>
+			<if test="searchParams.title != null">
+				and jr.title_ like #{searchParams.title}
+			</if>
+			<if test="searchParams.monthlySalary != null">
+				and jr.wage_type like #{searchParams.monthlySalary}
+			</if>
+			<if test="searchParams.workExperience != null">
+				and jr.requirements_ like #{searchParams.workExperience}
+			</if>
+			<if test="searchParams.education != null">
+				and jr.education_ like #{searchParams.education}
+			</if>
+			<if test="searchParams.recruitmentPosition != null">
+				and jr.position_ like #{searchParams.recruitmentPosition}
+			</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/WorkCategory.xml

@@ -103,6 +103,9 @@
 			<if test="searchParams.level != null">
 				and level_ = #{searchParams.level}
 			</if>
+			<if test="searchParams.screen != null">
+				and mame_ like #{searchParams.screen}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}

+ 2 - 1
web/src/main/java/com/jpsoft/employment/config/WebMvcConfig.java

@@ -58,7 +58,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
 				.excludePathPatterns("/mobile/jobUserApi/validateCode")
 				.excludePathPatterns("/mobile/jobUserApi/getVerifyCode")
 				.excludePathPatterns("/mobile/jobUserApi/passwordLogin")
-				.excludePathPatterns("/mobile/recruitmentApi/getRecruitmentList");
+				.excludePathPatterns("/mobile/recruitmentApi/getRecruitmentList")
+				.excludePathPatterns("/mobile/recruitmentApi/getScreenList");
 
 
 	}

+ 27 - 0
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/PersonalApiController.java

@@ -0,0 +1,27 @@
+package com.jpsoft.employment.modules.mobile.controller;
+
+import com.github.pagehelper.Page;
+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.UserBrowse;
+import com.jpsoft.employment.modules.job.service.UserBrowseService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@Slf4j
+@RestController
+@RequestMapping("/mobile/personalApi")
+@Api(description = "移动端求职者个人中心接口")
+public class PersonalApiController {
+}

+ 143 - 11
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitmentApiController.java

@@ -1,17 +1,22 @@
 package com.jpsoft.employment.modules.mobile.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.base.entity.Company;
+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 io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hslf.record.CString;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -31,10 +36,25 @@ public class RecruitmentApiController {
     @Autowired
     private RecruitmentService recruitmentService;
 
+    @Autowired
+    private WorkCategoryService workCategoryService;
+
+    @Autowired
+    private CompanyService companyService;
+
+
     @PostMapping("getRecruitmentList")
     @ApiOperation(value = "职位列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "title", value = "标题", required = false, paramType = "form"),
+            @ApiImplicitParam(name = "type", value = "类型(1:最新,2:最热)", required = false, paramType = "form"),
+            @ApiImplicitParam(name = "monthlySalary", value = "月薪范围", required = false, paramType = "form"),
+            @ApiImplicitParam(name = "workExperience", value = "工作经验", required = false, paramType = "form"),
+            @ApiImplicitParam(name = "education", value = "学历", required = false, paramType = "form"),
+            @ApiImplicitParam(name = "recruitmentPosition", value = "招聘岗位", required = false, paramType = "form"),
+    })
     public MessageResult<Map> getRecruitmentList(
-            String id,
+            String title,String type,String monthlySalary,String workExperience,String education,String recruitmentPosition,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
             @RequestParam(value="pageSize",defaultValue="20") int pageSize,
             HttpServletRequest request){
@@ -48,21 +68,133 @@ public class RecruitmentApiController {
         Map<String,Object> searchParams = new HashMap<>();
 
         List<Sort> sortList = new ArrayList<>();
-        int tabId = 0;
-        switch (tabId) {
-            case 0:
-                sortList.add(new Sort("create_time","asc"));
-                break;
-            case 1:
-                sortList.add(new Sort("reading_times","desc"));
-                break;
+        if ("1".equals(type)) {
+            sortList.add(new Sort("jr.create_time","desc"));
+        }
+        //"2".equals(null)
+        if ("2".equals(type)) {
+            sortList.add(new Sort("jr.reading_times","desc"));
+        }
+        if (type == null) {
+            sortList.add(new Sort("jr.id_","asc"));
+        }
+
+        if (StringUtils.isNotEmpty(title)) {
+            searchParams.put("title", "%"+title+"%");
+        }
+        searchParams.put("monthlySalary", monthlySalary);
+        searchParams.put("workExperience", workExperience);
+        searchParams.put("education", education);
+        searchParams.put("recruitmentPosition", recruitmentPosition);
+
+        Page<Map> page = recruitmentService.foundPageList(searchParams,pageIndex,pageSize,true,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+
+    @PostMapping("getScreenList")
+    @ApiOperation(value = "筛选标题列表")
+    public MessageResult<List> getScreenList(HttpServletRequest request) {
+        String subject = (String)request.getAttribute("subject");
+
+        //当前用户ID
+
+        MessageResult<List> msgResult = new MessageResult<>();
+
+        List<WorkCategory> page = workCategoryService.list();
+
+        msgResult.setResult(true);
+        msgResult.setData(page);
+
+        return msgResult;
+    }
+
+    @PostMapping("getRecruitmentDetails/{id}")
+    @ApiOperation(value = "招聘详情")
+    public MessageResult<Map> getRecruitmentDetails(
+            @PathVariable("id") String id,
+            String token,
+            @RequestAttribute  String subject){
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+        Map<String, Object> map = new HashMap<>();
+        try {
+            Recruitment recruitment = recruitmentService.get(id);
+            Company company = companyService.get(recruitment.getCompanyId());
+
+            map.put("recruitment",recruitment);
+            map.put("company",company);
+
+            if (recruitment != null) {
+                msgResult.setResult(true);
+                msgResult.setData(map);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库不存在该记录!");
+            }
         }
+        catch(Exception ex){
+            msgResult.setCode(400);
+            msgResult.setMessage(ex.getMessage());
+            msgResult.setResult(false);
+        }
+
+        return msgResult;
+    }
+
+    @PostMapping("getRelevantList")
+    @ApiOperation(value = "相关推荐")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "id", required = true, paramType = "form")
+    })
+    public MessageResult<Map> getRecruitmentList(
+            String id,
+            String token){
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+
+        Recruitment recruitment = recruitmentService.get(id);//id 数据
+        String relevantTitle = recruitment.getTitle();//标题
+
+        sortList.add(new Sort("id_","asc"));
+
+        searchParams.put("relevantTitle", relevantTitle);
+        searchParams.put("notrelevantId", id);
+
+        Page<Recruitment> page = recruitmentService.pageSearch(searchParams,1,5,true,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+
+    @PostMapping("getCompanyDetails")
+    @ApiOperation(value = "企业详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "id", required = true, paramType = "form")
+    })
+    public MessageResult<Map> getCompanyDetails(String id,String token) {
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+
+        sortList.add(new Sort("bc.id_","asc"));
 
         if (StringUtils.isNotEmpty(id)) {
-            searchParams.put("id","%" + id + "%");
+            searchParams.put("id", "%"+id+"%");
         }
 
-        Page<Recruitment> page = recruitmentService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+        Page<Map> page = recruitmentService.foundPageList(searchParams,1,20,true,sortList);
 
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));