浏览代码

Merge remote-tracking branch 'origin/master'

xiao547607 4 年之前
父节点
当前提交
da871cf773
共有 30 个文件被更改,包括 341 次插入8 次删除
  1. 39 0
      common/src/main/java/com/jpsoft/employment/modules/base/dto/HrIndexDataDTO.java
  2. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/dao/RecruitmentCollectionDAO.java
  3. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/dao/RecruitmentDAO.java
  4. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/dao/ResumeDeliverDAO.java
  5. 2 0
      common/src/main/java/com/jpsoft/employment/modules/job/dao/UserBrowseDAO.java
  6. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/dao/UserBrowseHrDAO.java
  7. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/RecruitmentCollectionService.java
  8. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/RecruitmentService.java
  9. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/ResumeDeliverService.java
  10. 2 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/UserBrowseHrService.java
  11. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/UserBrowseService.java
  12. 5 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/RecruitmentCollectionServiceImpl.java
  13. 5 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/RecruitmentServiceImpl.java
  14. 5 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/ResumeDeliverServiceImpl.java
  15. 6 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/UserBrowseHrServiceImpl.java
  16. 5 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/UserBrowseServiceImpl.java
  17. 13 0
      common/src/main/java/com/jpsoft/employment/modules/sys/entity/User.java
  18. 3 0
      common/src/main/resources/mapper/job/Recruitment.xml
  19. 4 0
      common/src/main/resources/mapper/job/RecruitmentCollection.xml
  20. 7 0
      common/src/main/resources/mapper/job/ResumeDeliver.xml
  21. 5 0
      common/src/main/resources/mapper/job/UserBrowse.xml
  22. 9 1
      common/src/main/resources/mapper/job/UserBrowseHr.xml
  23. 6 1
      common/src/main/resources/mapper/sys/User.xml
  24. 143 0
      web/src/main/java/com/jpsoft/employment/modules/job/controller/HrIndexController.java
  25. 1 1
      web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentCollectionController.java
  26. 67 0
      web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentController.java
  27. 2 1
      web/src/main/java/com/jpsoft/employment/modules/job/controller/UserBrowseController.java
  28. 2 1
      web/src/main/java/com/jpsoft/employment/modules/job/controller/UserBrowseHrController.java
  29. 1 1
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruiterApiController.java
  30. 1 2
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitmentApiController.java

+ 39 - 0
common/src/main/java/com/jpsoft/employment/modules/base/dto/HrIndexDataDTO.java

@@ -0,0 +1,39 @@
+package com.jpsoft.employment.modules.base.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+@Data
+public class HrIndexDataDTO {
+
+    @ApiModelProperty(value = "HR姓名")
+    private String realName;
+
+    @ApiModelProperty(value = "头像")
+    private String photo;
+
+    @ApiModelProperty(value = "所属企业")
+    private String companyName;
+
+    @ApiModelProperty(value = "投递简历数量")
+    private Integer resumeDeliverNum;
+
+    @ApiModelProperty(value = "收藏简历数量")
+    private Integer recruitmentCollectionNum;
+
+    @ApiModelProperty(value = "对我感兴趣数量")
+    private Integer userBrowseNum;
+
+    @ApiModelProperty(value = "昨日浏览数量")
+    private Integer yesterdayBrowseNum;
+
+    @ApiModelProperty(value = "职位流量数据")
+    private List<Map<String,Object>> positionDataFlow;
+
+    @ApiModelProperty(value = "职位流量数据对比")
+    private List<Map<String,Object>> positionDataFlowContrast;
+
+}

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

@@ -18,6 +18,7 @@ public interface RecruitmentCollectionDAO {
 	int delete(String id);
 	RecruitmentCollection findByUserIdAndCompanyIdAndResumeId(@Param("userId")String userId,@Param("companyId")String companyId,@Param("resumeid")String resumeid);
 	List<RecruitmentCollection> list();
+	int countByUserId(@Param("companyId")String companyId,@Param("sysUserId")String sysUserId);
 	List<RecruitmentCollection> search(@Param("searchParams") Map<String,Object> searchParams, @Param("sortList")List<Sort> sortList);
     /**
      * 招聘方:收藏的简历

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

@@ -17,6 +17,7 @@ public interface RecruitmentDAO {
 	Recruitment get(String id);
 	int delete(String id);
 	List<Recruitment> list();
+	int countByCompanyId(String companyId);
 	List<Recruitment> search(@Param("searchParams") Map<String,Object> searchParams, @Param("sortList")List<Sort> sortList);
 	List<Map> foundPageList(@Param("searchParams") Map<String,Object> searchParams, @Param("sortList")List<Sort> sortList);
     /**

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

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

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

@@ -21,4 +21,6 @@ public interface UserBrowseDAO {
 	List<UserBrowse> searchHR(Map<String, Object> searchParams, List<Sort> sortList);
 	List<Recruitment> loadUserBrowses(Map<String, Object> searchParams, List<Sort> sortList);
 	int findNumberByRId(String recruitmentId);
+
+	int countByCompanyId(String companyId);
 }

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

@@ -23,4 +23,5 @@ public interface UserBrowseHrDAO {
      * @return
      */
     Integer rptHrBrowseCount(String hrId);
+	int countBySysUserId(@Param("sysUserId")String sysUserId,@Param("beginTime")String beginTime,@Param("endTime")String endTime);
 }

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

@@ -13,6 +13,7 @@ public interface RecruitmentCollectionService {
 	int insert(RecruitmentCollection model);
 	int update(RecruitmentCollection model);
 	int delete(String id);
+	int countByUserId(String companyId,String sysUserId);
 	RecruitmentCollection findByUserIdAndCompanyIdAndResumeId(String userId,String companyId,String resumeid);
 	List<RecruitmentCollection> list();
 	Page<RecruitmentCollection> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);

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

@@ -14,6 +14,7 @@ public interface RecruitmentService {
 	int update(Recruitment model);
 	int delete(String id);
 	List<Recruitment> list();
+	int countByCompanyId(String companyId);
 	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);
 

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

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

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

@@ -21,4 +21,6 @@ public interface UserBrowseHrService {
 	 * @return
 	 */
 	Integer rptHrBrowseCount(String hrId);
+
+	int countBySysUserId(String sysUserId,String beginTime,String endTime);
 }

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

@@ -15,6 +15,7 @@ public interface UserBrowseService {
 	int update(UserBrowse model);
 	int delete(String id);
 	int findNumberByRId(String recruitmentId);
+	int countByCompanyId(String companyId);
 	List<UserBrowse> list();
 	Page<UserBrowse> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 	Page<UserBrowse> pageSearchHR(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/RecruitmentCollectionServiceImpl.java

@@ -64,6 +64,11 @@ public class RecruitmentCollectionServiceImpl implements RecruitmentCollectionSe
 		// TODO Auto-generated method stub
 		return recruitmentCollectionDAO.list();
 	}
+
+	@Override
+	public int countByUserId(String companyId,String sysUserId){
+		return recruitmentCollectionDAO.countByUserId(companyId,sysUserId);
+	}
 		
 	@Override
 	public Page<RecruitmentCollection> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {

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

@@ -74,6 +74,11 @@ public class RecruitmentServiceImpl implements RecruitmentService {
 		// TODO Auto-generated method stub
 		return recruitmentDAO.list();
 	}
+
+	@Override
+	public int countByCompanyId(String companyId){
+		return recruitmentDAO.countByCompanyId(companyId);
+	}
 		
 	@Override
 	public Page<Recruitment> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {

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

@@ -58,6 +58,11 @@ public class ResumeDeliverServiceImpl implements ResumeDeliverService {
 		// TODO Auto-generated method stub
 		return resumeDeliverDAO.list();
 	}
+
+	@Override
+	public int countByCompanyId(String companyId){
+		return resumeDeliverDAO.countByCompanyId(companyId);
+	}
 		
 	@Override
 	public Page<ResumeDeliver> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {

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

@@ -78,4 +78,10 @@ public class UserBrowseHrServiceImpl implements UserBrowseHrService {
 	public Integer rptHrBrowseCount(String hrId) {
 		return userBrowseHrDAO.rptHrBrowseCount(hrId);
 	}
+
+
+	@Override
+	public int countBySysUserId(String sysUserId,String beginTime,String endTime){
+		return userBrowseHrDAO.countBySysUserId(sysUserId,beginTime,endTime);
+	}
 }

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

@@ -94,4 +94,9 @@ public class UserBrowseServiceImpl implements UserBrowseService {
 	}
 
 
+	@Override
+	public int countByCompanyId(String companyId){
+		return userBrowseDAO.countByCompanyId(companyId);
+	}
+
 }

+ 13 - 0
common/src/main/java/com/jpsoft/employment/modules/sys/entity/User.java

@@ -1,6 +1,7 @@
 package com.jpsoft.employment.modules.sys.entity;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
@@ -25,6 +26,9 @@ public class User {
 	private String companyName;
 
 
+	@ApiModelProperty(value = "头像")
+	private String photo;
+
 
 	//只做显示作用不保存数据库
 	private String resumeDeliverId;
@@ -195,4 +199,13 @@ public class User {
 	}
 
 
+	public String getPhoto() {
+		return photo;
+	}
+
+	public void setPhoto(String photo) {
+		this.photo = photo;
+	}
+
+
 }

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

@@ -182,6 +182,9 @@
 	<select id="list" resultMap="RecruitmentMap">
 		select * from job_recruitment
 	</select>
+	<select id="countByCompanyId" resultType="int">
+		select count(*) from job_recruitment where del_flag=false and company_id = #{0}
+	</select>
 	<select id="search" parameterType="hashmap" resultMap="RecruitmentMap">
 		<![CDATA[
 			select * from job_recruitment

+ 4 - 0
common/src/main/resources/mapper/job/RecruitmentCollection.xml

@@ -109,6 +109,10 @@
 	<select id="list" resultMap="RecruitmentCollectionMap">
 		select * from job_recruitment_collection
 	</select>
+	<select id="countByUserId" resultType="int">
+		select count(*) from job_recruitment_collection
+		where del_flag = false and company_id=#{companyId} and sys_user_id = #{sysUserId}
+	</select>
 	<select id="search" parameterType="hashmap" resultMap="RecruitmentCollectionMap">
 		<![CDATA[
 			select * from job_recruitment_collection a left join job_resume b on a.resume_id = b.id_

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

@@ -89,6 +89,13 @@
 	<select id="list" resultMap="ResumeDeliverMap">
 		select * from job_resume_deliver
 	</select>
+	<select id="countByCompanyId" resultType="int">
+		<![CDATA[
+			SELECT count(*) FROM job_resume_deliver a
+			inner join job_recruitment b on a.job_recruitment_id=b.id_
+            WHERE a.del_flag = FALSE and b.del_flag = FALSE and b.company_id = #{0}
+		]]>
+	</select>
 	<select id="search" parameterType="hashmap" resultMap="ResumeDeliverMap">
 		<![CDATA[
 			select a.* from job_resume_deliver a inner join job_jobuser b on a.job_user_id = b.id_

+ 5 - 0
common/src/main/resources/mapper/job/UserBrowse.xml

@@ -227,4 +227,9 @@
 			AND del_flag = 0
 	</select>
 
+	<select id="countByCompanyId" resultType="int">
+		select count(*) from job_user_browse a
+		inner join job_recruitment b on a.job_recruitment_id=b.id_
+		where a.del_flag = false and b.del_flag = false and b.company_id = #{0}
+	</select>
 </mapper>

+ 9 - 1
common/src/main/resources/mapper/job/UserBrowseHr.xml

@@ -79,7 +79,7 @@
 	</select>
 	<select id="search" parameterType="hashmap" resultMap="UserBrowseHrMap">
 		<![CDATA[
-			select * from
+			select a.* from
 			  job_user_browse_hr a
 			left join job_resume b on a.job_resume_id = b.id_
 			left join job_work_category c on b.position_category_id = c.id_
@@ -119,6 +119,7 @@
                 ]]>
 			</if>
 		</where>
+		GROUP BY a.job_resume_id
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}
 	 	</foreach>
@@ -127,4 +128,11 @@
 	<select id="rptHrBrowseCount" parameterType="String" resultType="Integer">
 		select count(1) from job_user_browse_hr   where  sys_user_id=#{0} and del_flag=0
 	</select>
+	<select id="countBySysUserId"  resultType="int">
+		<![CDATA[
+			select count(*) from job_user_browse_hr
+			where  sys_user_id=#{sysUserId}  and del_flag = false
+			and create_time >= #{beginTime} and create_time <= #{endTime}
+		]]>
+	</select>
 </mapper>

+ 6 - 1
common/src/main/resources/mapper/sys/User.xml

@@ -16,6 +16,7 @@
         <result property="openId" column="open_id"/>
         <result property="companyId" column="company_id"/>
         <result property="companyName" column="company_name"/>
+        <result property="photo" column="photo_"/>
     </resultMap>
 
     <resultMap id="UserVOMap" type="com.jpsoft.employment.modules.sys.entity.UserVO" extends="UserMap">
@@ -33,7 +34,7 @@
         <![CDATA[
 		insert into sys_user
 	    (id_,user_name,password_,real_name,create_time,update_time,
-	    del_flag,create_by,update_by,open_id,company_id)
+	    del_flag,create_by,update_by,open_id,company_id,photo_)
 		values
 		(
             #{id,jdbcType=VARCHAR}
@@ -47,6 +48,7 @@
             ,#{updateBy,jdbcType=VARCHAR}
             ,#{openId,jdbcType=VARCHAR}
             ,#{companyId,jdbcType=VARCHAR}
+            ,#{photo,jdbcType=VARCHAR}
 		)
 	]]>
     </insert>
@@ -86,6 +88,9 @@
             <if test="companyId!=null">
                 company_id=#{companyId,jdbcType=VARCHAR},
             </if>
+            <if test="photo!=null">
+                photo_=#{photo,jdbcType=VARCHAR},
+            </if>
         </set>
         where id_=#{id}
     </update>

+ 143 - 0
web/src/main/java/com/jpsoft/employment/modules/job/controller/HrIndexController.java

@@ -0,0 +1,143 @@
+package com.jpsoft.employment.modules.job.controller;
+
+
+import com.jpsoft.employment.modules.base.dto.HrIndexDataDTO;
+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.job.entity.Resume;
+import com.jpsoft.employment.modules.job.entity.ResumeDeliver;
+import com.jpsoft.employment.modules.job.service.*;
+import com.jpsoft.employment.modules.sys.entity.User;
+import com.jpsoft.employment.modules.sys.service.UserService;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@RestController
+@RequestMapping("/job/hrIndex")
+public class HrIndexController {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private CompanyService companyService;
+
+    @Autowired
+    private ResumeDeliverService resumeDeliverService;
+
+    @Autowired
+    private RecruitmentCollectionService recruitmentCollectionService;
+
+    @Autowired
+    private UserBrowseService userBrowseService;
+
+    @Autowired
+    private UserBrowseHrService userBrowseHrService;
+
+    @Autowired
+    private RecruitmentService recruitmentService;
+
+    @ApiOperation(value="首页数据")
+    @PostMapping("indexData")
+    public MessageResult<HrIndexDataDTO> indexData(String token,@RequestAttribute String subject) {
+        MessageResult<HrIndexDataDTO> msgResult = new MessageResult<>();
+
+        try {
+
+            User user = userService.get(subject);
+
+            if (user == null) {
+                throw new Exception("用户未登录,请先登录!");
+            }
+
+            Company company = companyService.get(user.getCompanyId());
+
+            if (company == null) {
+                throw new Exception("未查询到登录人员所在公司!");
+            }
+
+            HrIndexDataDTO dto = new HrIndexDataDTO();
+            dto.setRealName(user.getRealName());
+            dto.setPhoto(user.getPhoto());
+            dto.setCompanyName(company.getName());
+
+
+            //简历投递数量
+            int resumeDeliverNum = resumeDeliverService.countByCompanyId(company.getId());
+
+            dto.setResumeDeliverNum(resumeDeliverNum);
+
+            //收藏的简历
+            int recruitmentCollectionNum = recruitmentCollectionService.countByUserId(company.getId(),subject);
+
+            dto.setRecruitmentCollectionNum(recruitmentCollectionNum);
+
+            //对我感兴趣
+            int userBrowseNum = userBrowseService.countByCompanyId(company.getId());
+
+            dto.setUserBrowseNum(userBrowseNum);
+
+            //昨日浏览
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            Date now = new Date();
+            Calendar cal = Calendar.getInstance();
+            cal.setTime(now);
+            cal.add(Calendar.DATE,-1);
+            Date lastDate = cal.getTime();
+
+            String beginTime = sdf.format(lastDate)+" 00:00:00";
+            String endTime = beginTime + " 23:59:59";
+
+            int yesterdayBrowseNum = userBrowseHrService.countBySysUserId(subject,beginTime,endTime);
+
+            dto.setYesterdayBrowseNum(yesterdayBrowseNum);
+
+            int recruitmentNum = recruitmentService.countByCompanyId(company.getId());
+
+            //流量数据漏斗图
+            List<Map<String,Object>> list = new ArrayList<>();
+
+            Map<String,Object> map = new HashMap<>();
+            map.put("name","recruitmentNum");
+            map.put("value",recruitmentNum);
+
+            list.add(map);
+
+            Map<String,Object> map1 = new HashMap<>();
+            map1.put("name","userBrowseNum");
+            map1.put("value",userBrowseNum);
+
+            list.add(map1);
+
+            Map<String,Object> map2 = new HashMap<>();
+            map2.put("name","resumeDeliverNum");
+            map2.put("value",resumeDeliverNum);
+
+            list.add(map2);
+
+            dto.setPositionDataFlow(list);
+
+
+
+            msgResult.setResult(true);
+            msgResult.setData(dto);
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+
+}

+ 1 - 1
web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentCollectionController.java

@@ -315,6 +315,7 @@ public class RecruitmentCollectionController {
 
                 dto.setResumeWorkExperienceList(resumeWorkExperienceList);
 
+                dto.setSexN(resume.getSex());
 
 
                 JobUser jobUser = jobUserService.get(resume.getJobUserId());
@@ -323,7 +324,6 @@ public class RecruitmentCollectionController {
                     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())){

+ 67 - 0
web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentController.java

@@ -379,6 +379,37 @@ public class RecruitmentController {
         return msgResult;
     }
 
+    @ApiOperation(value="下架")
+    @PostMapping("up/{id}")
+    public MessageResult<Integer> up(@PathVariable("id") String id,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            Recruitment recruitment = recruitmentService.get(id);
+            recruitment.setStatus("1");
+            recruitment.setUpdateBy(subject);
+            recruitment.setUpdateTime(new Date());
+
+            int affectCount = recruitmentService.update(recruitment);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(affectCount);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("上架失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
 
 
 
@@ -453,6 +484,42 @@ public class RecruitmentController {
         return msgResult;
     }
 
+
+    @ApiOperation(value="批量上架")
+    @PostMapping("batchUp")
+    public MessageResult<Integer> batchUp(@RequestBody List<String> idList,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            int affectCount = 0;
+
+            for (String id : idList) {
+                Recruitment recruitment = recruitmentService.get(id);
+                recruitment.setStatus("1");
+                recruitment.setUpdateBy(subject);
+                recruitment.setUpdateTime(new Date());
+
+                affectCount += recruitmentService.update(recruitment);
+            }
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(affectCount);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("上架失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
     @ApiOperation(value="列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     public MessageResult<Map> pageList(

+ 2 - 1
web/src/main/java/com/jpsoft/employment/modules/job/controller/UserBrowseController.java

@@ -367,7 +367,6 @@ public class UserBrowseController {
                     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())){
@@ -405,6 +404,8 @@ public class UserBrowseController {
 
                     dto.setResumeWorkExperienceList(resumeWorkExperienceList);
 
+                    dto.setSexN(resume.getSex());
+
                 }
 
                 dto.setWorkExp(workExpName);

+ 2 - 1
web/src/main/java/com/jpsoft/employment/modules/job/controller/UserBrowseHrController.java

@@ -310,6 +310,7 @@ public class UserBrowseHrController {
 
                 dto.setResumeWorkExperienceList(resumeWorkExperienceList);
 
+                dto.setSexN(resume.getSex());
 
 
                 JobUser jobUser = jobUserService.get(resume.getJobUserId());
@@ -318,7 +319,7 @@ public class UserBrowseHrController {
                     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())){

+ 1 - 1
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruiterApiController.java

@@ -107,7 +107,7 @@ public class RecruiterApiController {
 
         try{
             List<Sort> sortList = new ArrayList<>();
-            sortList.add(new Sort("updateTime","desc"));
+            sortList.add(new Sort("jr.create_time","desc"));
             Page<RecruitmentVO> page = recruitmentService.loadForRecruiter(MapUtils.builder("recruiter",subject,"status",status),pageIndex,pageSize,true,sortList);
             return MessageResultBuilder.success(PojoUtils.pageWrapper(page));
         }

+ 1 - 2
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitmentApiController.java

@@ -100,8 +100,7 @@ public class RecruitmentApiController {
         if ("1".equals(type)) {
             sortList.add(new Sort("jr.create_time","desc"));
         }
-        //"2".equals(null)
-        if ("2".equals(type)) {
+        if ("2".equals(type)){
             sortList.add(new Sort("jr.reading_times","desc"));
         }
         if (type == null) {