Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/master'

xiao547607 4 rokov pred
rodič
commit
e7e3dcc6e9

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

@@ -207,10 +207,11 @@
 			left join sys_data_dictionary waged on j.wage_type=waged.id_ and waged.del_flag=0
 			left join base_company p on j.company_id=p.id_ and p.del_flag=0
 			left join sys_data_dictionary  pd on p.scale_=pd.id_ and pd.del_flag=0
-				left join base_city  as bcity on bcity.id_=j.area_ and b.del_flag=0
+				left join base_city  as bcity on bcity.id_=j.area_
 		]]>
 		<where>
 			and job_user_id = #{searchParams.jobUserId}
+			and b.del_flag=0
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 			${sort.name} ${sort.order}

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

@@ -153,10 +153,11 @@
 			left join sys_data_dictionary waged on j.wage_type=waged.id_ and waged.del_flag=0
 			left join base_company p on j.company_id=p.id_ and p.del_flag=0
 			left join sys_data_dictionary  pd on p.scale_=pd.id_ and pd.del_flag=0
-			left join base_city  as bcity on bcity.id_=j.area_ and b.del_flag=0
+			left join base_city  as bcity on bcity.id_=j.area_
 		]]>
 		<where>
 			and job_user_id = #{searchParams.jobUserId}
+			and b.del_flag=0
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 			${sort.name} ${sort.order}

+ 205 - 0
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/UserBrowseHrApiController.java

@@ -0,0 +1,205 @@
+package com.jpsoft.employment.modules.mobile.controller;
+
+import cn.hutool.core.util.IdcardUtil;
+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.dto.ResumeDeliverHrDTO;
+import com.jpsoft.employment.modules.job.entity.*;
+import com.jpsoft.employment.modules.job.service.*;
+import com.jpsoft.employment.modules.sys.entity.DataDictionary;
+import com.jpsoft.employment.modules.sys.service.DataDictionaryService;
+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.*;
+
+@RestController
+@RequestMapping("/mobile/userBrowseApi")
+@Api(tags = "移动端接口:招聘方[浏览记录]")
+@Slf4j
+public class UserBrowseHrApiController {
+    @Autowired
+    private UserBrowseHrService userBrowseHrService;
+
+    @Autowired
+    private JobUserService jobUserService;
+
+    @Autowired
+    private ResumeService rsumeService;
+
+    @Autowired
+    private ResumeWorkExperienceService resumeWorkExperienceService;
+
+    @Autowired
+    private DataDictionaryService dataDictionaryService;
+
+    @Autowired
+    private WorkCategoryService workCategoryService;
+
+    @PostMapping("pageListHR")
+    @ApiOperation(value = "浏览记录")
+    public MessageResult<Map> pageListHR(
+            String token,String positionCategoryId,Integer age,String sex,
+            String workExp,String education,String createTimeRange,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            HttpServletRequest request){
+        String subject = (String)request.getAttribute("subject");
+
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("a.create_time","desc"));
+
+        if(StringUtils.isNotEmpty(positionCategoryId)){
+            searchParams.put("positionCategoryId",positionCategoryId);
+        }
+
+        if(StringUtils.isNotEmpty(sex)){
+            if(!"100b3725-cb26-4d71-af3c-5b01c98f776b".equals(sex)) {
+                searchParams.put("sex", sex);
+            }
+        }
+
+        if(age!=null){
+            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
+
+            Calendar cal = Calendar.getInstance();
+
+            cal.setTime(new Date());
+
+            cal.add(Calendar.YEAR,-age);
+
+            String curDate = sdf.format(cal.getTime());
+
+            searchParams.put("curDate",curDate);
+        }
+
+        if(StringUtils.isNotEmpty(workExp)){
+            searchParams.put("workExp",workExp);
+        }
+
+        if(StringUtils.isNotEmpty(education)){
+            searchParams.put("education",education);
+        }
+
+        if (StringUtils.isNotEmpty(createTimeRange)) {
+            String[] timeRangeArray = createTimeRange.split(",");
+            String beginTime = "";
+            String endTime = "";
+            beginTime+=" 00:00:00";
+            if (timeRangeArray.length == 1) {
+                beginTime = timeRangeArray[0];
+            } else if (timeRangeArray.length == 2) {
+                beginTime = timeRangeArray[0];
+                endTime = timeRangeArray[1];
+                beginTime+=" 00:00:00";
+                endTime+=" 23:59:59";
+            }
+
+            searchParams.put("beginTime", beginTime);
+            searchParams.put("endTime", endTime);
+        }
+
+
+        Page<UserBrowseHr> page = userBrowseHrService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+
+
+        Page<ResumeDeliverHrDTO> pageDto = new Page<>();
+
+        for (UserBrowseHr userBrowseHr:page) {
+
+            ResumeDeliverHrDTO dto = new ResumeDeliverHrDTO();
+
+            dto.setId(userBrowseHr.getId());
+            dto.setCreateTime(userBrowseHr.getCreateTime());
+
+            Resume resume = rsumeService.get(userBrowseHr.getJobResumeId());
+
+            String workExpName="";
+            String dreamMoneyName="";
+            String educationName="";
+            String positionName = "";
+
+
+            if(resume!=null){
+                DataDictionary dataDictionary = dataDictionaryService.get(resume.getWorkExp());
+
+                if(dataDictionary!=null){
+                    workExpName = dataDictionary.getName();
+                }
+
+                DataDictionary dataDictionary1 = dataDictionaryService.get(resume.getDreamMoney());
+                if(dataDictionary1!=null){
+                    dreamMoneyName = dataDictionary1.getName();
+                }
+
+                DataDictionary dataDictionary2 = dataDictionaryService.get(resume.getEducation());
+
+                if(dataDictionary2!=null){
+                    educationName = dataDictionary2.getName();
+                }
+
+
+                List<ResumeWorkExperience> resumeWorkExperienceList = resumeWorkExperienceService.findByResumeId(resume.getId());
+
+                dto.setResumeWorkExperienceList(resumeWorkExperienceList);
+
+
+
+                JobUser jobUser = jobUserService.get(resume.getJobUserId());
+
+                if(jobUser!=null){
+                    dto.setJobUserId(jobUser.getId());
+                    dto.setHeadImageUrl(jobUser.getHeadImageUrl());
+                    dto.setName(jobUser.getRealName());
+                    dto.setSexN(jobUser.getSex());
+                    dto.setUserTel(jobUser.getTel());
+
+                    if(StringUtils.isNotEmpty(jobUser.getIdCard())){
+                        int ageN = IdcardUtil.getAgeByIdCard(jobUser.getIdCard());
+                        dto.setAge(ageN);
+                    }
+                }
+
+                WorkCategory workCategory = workCategoryService.get(resume.getPositionCategoryId());
+                if(workCategory!=null){
+                    positionName = workCategory.getName();
+                }
+            }
+
+            dto.setPositionName(positionName);
+            dto.setWorkExp(workExpName);
+            dto.setEducation(educationName);
+            dto.setDreamMoney(dreamMoneyName);
+
+
+            pageDto.add(dto);
+        }
+
+        pageDto.setPages(page.getPages());
+        pageDto.setTotal(page.getTotal());
+        pageDto.setPageNum(page.getPageNum());
+
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(pageDto));
+
+        return msgResult;
+    }
+}