浏览代码

Merge remote-tracking branch 'origin/master'

yanliming 4 年之前
父节点
当前提交
81bf022137
共有 17 个文件被更改,包括 701 次插入33 次删除
  1. 6 0
      common/src/main/java/com/jpsoft/employment/modules/base/entity/EnterpriseCertificationApprove.java
  2. 18 0
      common/src/main/java/com/jpsoft/employment/modules/job/dao/RecruitmentApproveDAO.java
  3. 6 0
      common/src/main/java/com/jpsoft/employment/modules/job/dto/ResumeDeliverHrDTO.java
  4. 49 0
      common/src/main/java/com/jpsoft/employment/modules/job/entity/RecruitmentApprove.java
  5. 17 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/RecruitmentApproveService.java
  6. 70 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/RecruitmentApproveServiceImpl.java
  7. 15 12
      common/src/main/resources/mapper/base/EnterpriseCertificationApprove.xml
  8. 99 0
      common/src/main/resources/mapper/job/RecruitmentApprove.xml
  9. 8 5
      common/src/main/resources/mapper/job/Resume.xml
  10. 58 0
      web/src/main/java/com/jpsoft/employment/modules/base/controller/CompanyController.java
  11. 18 4
      web/src/main/java/com/jpsoft/employment/modules/base/controller/EnterpriseCertificationApproveController.java
  12. 249 0
      web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentApproveController.java
  13. 32 1
      web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentController.java
  14. 18 6
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruiterApiController.java
  15. 24 3
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitmentApiController.java
  16. 11 0
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/ResumeApiController.java
  17. 3 2
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/UserBrowseHrApiController.java

+ 6 - 0
common/src/main/java/com/jpsoft/employment/modules/base/entity/EnterpriseCertificationApprove.java

@@ -20,6 +20,7 @@ public class EnterpriseCertificationApprove {
     private String id;
         @ApiModelProperty(value = "")
     private String createBy;
+    private String createByName;
         @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
 	    @ApiModelProperty(value = "")
@@ -34,10 +35,15 @@ public class EnterpriseCertificationApprove {
     private Boolean delFlag;
         @ApiModelProperty(value = "申请认证企业ID")
     private String companyId;
+    private String companyName;
         @ApiModelProperty(value = "审批人")
     private String approvePersonId;
+    private String approvePersonName;
         @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
 	    @ApiModelProperty(value = "审批时间")
     private Date approveTime;
+
+    private String isCertification;
+    private String isCertificationName;
 }

+ 18 - 0
common/src/main/java/com/jpsoft/employment/modules/job/dao/RecruitmentApproveDAO.java

@@ -0,0 +1,18 @@
+package com.jpsoft.employment.modules.job.dao;
+
+import java.util.List;
+import org.springframework.stereotype.Repository;
+import com.jpsoft.employment.modules.job.entity.RecruitmentApprove;
+import java.util.Map;
+import com.jpsoft.employment.modules.common.dto.Sort;
+
+@Repository
+public interface RecruitmentApproveDAO {
+	int insert(RecruitmentApprove entity);
+	int update(RecruitmentApprove entity);
+	int exist(String id);
+	RecruitmentApprove get(String id);
+	int delete(String id);
+	List<RecruitmentApprove> list();
+	List<RecruitmentApprove> search(Map<String,Object> searchParams,List<Sort> sortList);
+}

+ 6 - 0
common/src/main/java/com/jpsoft/employment/modules/job/dto/ResumeDeliverHrDTO.java

@@ -58,4 +58,10 @@ public class ResumeDeliverHrDTO {
 
     @ApiModelProperty(value = "附件,逗号分割")
     private String resumeUrls;
+
+    @ApiModelProperty(value = "期望工作地")
+    private String dreamAdd;
+
+    @ApiModelProperty(value = "工作状态")
+    private String jobStatus;
 }

+ 49 - 0
common/src/main/java/com/jpsoft/employment/modules/job/entity/RecruitmentApprove.java

@@ -0,0 +1,49 @@
+package com.jpsoft.employment.modules.job.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.text.SimpleDateFormat;
+import java.math.BigDecimal;
+import org.springframework.format.annotation.DateTimeFormat;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+  描述:job_recruitment_approve的实体类
+ */
+@Data
+@ApiModel(value = "job_recruitment_approve的实体类")
+public class RecruitmentApprove {
+        @ApiModelProperty(value = "")
+    private String id;
+        @ApiModelProperty(value = "")
+    private String createBy;
+    private String createByName;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "")
+    private Date createTime;
+        @ApiModelProperty(value = "")
+    private String updateBy;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "")
+    private Date updateTime;
+        @ApiModelProperty(value = "删除标示")
+    private Boolean delFlag;
+        @ApiModelProperty(value = "岗位认证ID")
+    private String recruitmentId;
+    private String recruitmentName;
+        @ApiModelProperty(value = "审批人")
+    private String approvePersonId;
+    private String approvePersonName;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "审批时间")
+    private Date approveTime;
+
+    private String approveStatus;
+    private String approveStatusName;
+}

+ 17 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/RecruitmentApproveService.java

@@ -0,0 +1,17 @@
+package com.jpsoft.employment.modules.job.service;
+
+import java.util.List;
+import java.util.Map;
+import com.jpsoft.employment.modules.job.entity.RecruitmentApprove;
+import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.common.dto.Sort;
+
+public interface RecruitmentApproveService {
+	RecruitmentApprove get(String id);
+	boolean exist(String id);
+	int insert(RecruitmentApprove model);
+	int update(RecruitmentApprove model);
+	int delete(String id);
+	List<RecruitmentApprove> list();
+	Page<RecruitmentApprove> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
+}

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

@@ -0,0 +1,70 @@
+package com.jpsoft.employment.modules.job.service.impl;
+
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import javax.annotation.Resource;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import com.jpsoft.employment.modules.job.dao.RecruitmentApproveDAO;
+import com.jpsoft.employment.modules.job.entity.RecruitmentApprove;
+import com.jpsoft.employment.modules.job.service.RecruitmentApproveService;
+import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.common.dto.Sort;
+import com.github.pagehelper.PageHelper;
+
+@Transactional
+@Component(value="recruitmentApproveService")
+public class RecruitmentApproveServiceImpl implements RecruitmentApproveService {
+	@Resource(name="recruitmentApproveDAO")
+	private RecruitmentApproveDAO recruitmentApproveDAO;
+
+	@Override
+	public RecruitmentApprove get(String id) {
+		// TODO Auto-generated method stub
+		return recruitmentApproveDAO.get(id);
+	}
+
+	@Override
+	public int insert(RecruitmentApprove model) {
+		// TODO Auto-generated method stub
+		//model.setId(UUID.randomUUID().toString());
+		
+		return recruitmentApproveDAO.insert(model);
+	}
+
+	@Override
+	public int update(RecruitmentApprove model) {
+		// TODO Auto-generated method stub
+		return recruitmentApproveDAO.update(model);		
+	}
+
+	@Override
+	public int delete(String id) {
+		// TODO Auto-generated method stub
+		return recruitmentApproveDAO.delete(id);
+	}
+
+	@Override
+	public boolean exist(String id) {
+		// TODO Auto-generated method stub
+		int count = recruitmentApproveDAO.exist(id);
+		
+		return count > 0 ? true : false;
+	}
+	
+	@Override
+	public List<RecruitmentApprove> list() {
+		// TODO Auto-generated method stub
+		return recruitmentApproveDAO.list();
+	}
+		
+	@Override
+	public Page<RecruitmentApprove> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {
+        Page<RecruitmentApprove> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{
+            recruitmentApproveDAO.search(searchParams,sortList);
+        });
+        
+        return page;
+	}
+}

+ 15 - 12
common/src/main/resources/mapper/base/EnterpriseCertificationApprove.xml

@@ -5,15 +5,17 @@
 <mapper namespace="com.jpsoft.employment.modules.base.dao.EnterpriseCertificationApproveDAO">
 	<resultMap id="EnterpriseCertificationApproveMap" type="com.jpsoft.employment.modules.base.entity.EnterpriseCertificationApprove">
 		<id property="id" column="id_" />
-			<result property="createBy" column="create_by" />
-			<result property="createTime" column="create_time" />
-			<result property="updateBy" column="update_by" />
-			<result property="updateTime" column="update_time" />
-			<result property="delFlag" column="del_flag" />
-			<result property="companyId" column="company_id" />
-			<result property="approvePersonId" column="approve_person_id" />
-			<result property="approveTime" column="approve_time" />
-			</resultMap>
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+		<result property="delFlag" column="del_flag" />
+		<result property="companyId" column="company_id" />
+		<result property="approvePersonId" column="approve_person_id" />
+		<result property="approveTime" column="approve_time" />
+
+		<result property="isCertification" column="is_certification" />
+	</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.employment.modules.base.entity.EnterpriseCertificationApprove">
 	<!--
 	<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
@@ -86,11 +88,12 @@ id_,create_by,create_time,update_by,update_time,del_flag,company_id,approve_pers
 
 	<select id="search" parameterType="hashmap" resultMap="EnterpriseCertificationApproveMap">
 		<![CDATA[
-			select * from base_enterprise_certification_approve
+			SELECT a.*,b.is_certification FROM base_enterprise_certification_approve a
+			LEFT JOIN base_company b ON a.company_id = b.id_
 		]]>
 		<where>
-			<if test="searchParams.id != null">
-				and ID_ like #{searchParams.id}
+			<if test="searchParams.isCertification != null">
+				and b.is_certification = #{searchParams.isCertification}
 			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">

+ 99 - 0
common/src/main/resources/mapper/job/RecruitmentApprove.xml

@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- namespace必须指向DAO接口 -->
+<mapper namespace="com.jpsoft.employment.modules.job.dao.RecruitmentApproveDAO">
+	<resultMap id="RecruitmentApproveMap" type="com.jpsoft.employment.modules.job.entity.RecruitmentApprove">
+		<id property="id" column="id_" />
+		<result property="createBy" column="create_by" />
+		<result property="createTime" column="create_time" />
+		<result property="updateBy" column="update_by" />
+		<result property="updateTime" column="update_time" />
+		<result property="delFlag" column="del_flag" />
+		<result property="recruitmentId" column="recruitment_id" />
+		<result property="approvePersonId" column="approve_person_id" />
+		<result property="approveTime" column="approve_time" />
+
+		<result property="approveStatus" column="approve_status" />
+	</resultMap>
+	<insert id="insert" parameterType="com.jpsoft.employment.modules.job.entity.RecruitmentApprove">
+	<!--
+	<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
+		select sys_guid() from dual
+	</selectKey>
+	-->
+	<![CDATA[
+		insert into job_recruitment_approve
+	    (id_,create_by,create_time,update_by,update_time,del_flag,recruitment_id,approve_person_id,approve_time)
+		values
+		(
+#{id,jdbcType=VARCHAR}
+,#{createBy,jdbcType=VARCHAR}
+,#{createTime,jdbcType= TIMESTAMP }
+,#{updateBy,jdbcType=VARCHAR}
+,#{updateTime,jdbcType= TIMESTAMP }
+,#{delFlag,jdbcType= NUMERIC }
+,#{recruitmentId,jdbcType=VARCHAR}
+,#{approvePersonId,jdbcType=VARCHAR}
+,#{approveTime,jdbcType= TIMESTAMP }
+		)
+	]]>
+	</insert>
+	<delete id="delete" parameterType="string">
+		delete from job_recruitment_approve where id_=#{id,jdbcType=VARCHAR}
+	</delete>
+	<update id="update" parameterType="com.jpsoft.employment.modules.job.entity.RecruitmentApprove">
+		update job_recruitment_approve
+		<set>
+				<if test="createBy!=null">
+		create_by=#{createBy,jdbcType=VARCHAR},
+		</if>
+				<if test="createTime!=null">
+		create_time=#{createTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="updateBy!=null">
+		update_by=#{updateBy,jdbcType=VARCHAR},
+		</if>
+				<if test="updateTime!=null">
+		update_time=#{updateTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="delFlag!=null">
+		del_flag=#{delFlag,jdbcType= NUMERIC },
+		</if>
+				<if test="recruitmentId!=null">
+		recruitment_id=#{recruitmentId,jdbcType=VARCHAR},
+		</if>
+				<if test="approvePersonId!=null">
+		approve_person_id=#{approvePersonId,jdbcType=VARCHAR},
+		</if>
+				<if test="approveTime!=null">
+		approve_time=#{approveTime,jdbcType= TIMESTAMP },
+		</if>
+		</set>
+	where id_=#{id}
+	</update>
+	<select id="get" parameterType="string" resultMap="RecruitmentApproveMap">
+		select 
+id_,create_by,create_time,update_by,update_time,del_flag,recruitment_id,approve_person_id,approve_time		from job_recruitment_approve where id_=#{0}
+	</select>
+	<select id="exist" parameterType="string" resultType="int">
+		select count(*) from job_recruitment_approve where id_=#{0}
+	</select>
+	<select id="list" resultMap="RecruitmentApproveMap">
+		select * from job_recruitment_approve
+	</select>
+	<select id="search" parameterType="hashmap" resultMap="RecruitmentApproveMap">
+		<![CDATA[
+			SELECT a.*,b.approve_status FROM job_recruitment_approve a
+			LEFT JOIN job_recruitment b ON a.recruitment_id = b.id_
+		]]>
+		<where>
+			<if test="searchParams.approveStatus != null">
+				and b.approve_status = #{searchParams.approveStatus}
+			</if>
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+	        ${sort.name} ${sort.order}
+	 	</foreach>
+	</select>
+</mapper>

+ 8 - 5
common/src/main/resources/mapper/job/Resume.xml

@@ -183,16 +183,17 @@
 	<!--用于移动端接口:招聘方【求职管理】-->
 	<select id="foundJobManagement" parameterType="hashmap" resultType="map">
 		<![CDATA[
-			SELECT DISTINCT
-			  jwc.name_ workName,
+			SELECT
+			  jr.title_ workName,
 			  sdda.name_ dreamMoney,
 			  sddb.name_ jobStatus,
-			  sddc.name_ sex,
 			  year(now())-year(jre.birthday_)  age,
 			  sddd.name_ workExp,
 			  sdde.name_ education,
 			  jj.head_image_url headImage,
 			  jj.real_name name,
+			  jre.id_ resumeId,
+			  jre.sex_ sex,
 			  jre.dream_add dreamAdd,
 			  jre.approve_status approveStatus,
               su.id_ sysUserId
@@ -201,7 +202,6 @@
 			LEFT JOIN job_work_category jwc ON jre.position_category_id = jwc.id_
 			LEFT JOIN sys_data_dictionary sdda ON jre.dream_money = sdda.id_
 			LEFT JOIN sys_data_dictionary sddb ON jre.job_status = sddb.id_
-			LEFT JOIN sys_data_dictionary sddc ON jre.sex_ = sddc.id_
 			LEFT JOIN sys_data_dictionary sddd ON jre.work_exp = sddd.id_
 			LEFT JOIN sys_data_dictionary sdde ON jre.education_ = sdde.id_
 			LEFT JOIN job_jobuser jj ON jre.job_user_id = jj.id_
@@ -211,11 +211,14 @@
 		]]>
 		<where>
 			<if test="searchParams.id != null">
-				and su.id = #{searchParams.id}
+				and su.id_ = #{searchParams.id}
 			</if>
 			<if test="searchParams.type != null">
 				and jre.approve_status = #{searchParams.type}
 			</if>
+			<if test="searchParams.sex != null">
+				and jre.sex_ = #{searchParams.sex}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 			${sort.name} ${sort.order}

+ 58 - 0
web/src/main/java/com/jpsoft/employment/modules/base/controller/CompanyController.java

@@ -7,6 +7,7 @@ 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.JobUser;
 import com.jpsoft.employment.modules.sys.entity.DataDictionary;
 import com.jpsoft.employment.modules.sys.service.DataDictionaryService;
 import io.swagger.annotations.Api;
@@ -267,4 +268,61 @@ public class CompanyController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="获取信息")
+    @GetMapping("editChecked/{id}")
+    public MessageResult<Company> editChecked(@PathVariable("id") String id, @RequestAttribute String subject){
+        MessageResult<Company> msgResult = new MessageResult<>();
+
+        try {
+            Company company = companyService.get(id);
+
+            if (company != null) {
+                msgResult.setResult(true);
+                msgResult.setData(company);
+            } 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="更新用户")
+    @PostMapping("checked")
+    public MessageResult<Company> checked(String id,@RequestAttribute String subject){
+        MessageResult<Company> msgResult = new MessageResult<>();
+
+        try {
+            Company company = companyService.get(id);
+            company.setIsCertification("2");
+            company.setUpdateBy(subject);
+            company.setUpdateTime(new Date());
+
+            int affectCount = companyService.update(company);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(company);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库更新失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
 }

+ 18 - 4
web/src/main/java/com/jpsoft/employment/modules/base/controller/EnterpriseCertificationApproveController.java

@@ -264,7 +264,7 @@ public class EnterpriseCertificationApproveController {
     @ApiOperation(value="列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     public MessageResult<Map> pageList(
-            String id,
+            String isCertification,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
             @RequestParam(value="pageSize",defaultValue="20") int pageSize,
             @RequestAttribute String subject){
@@ -277,13 +277,27 @@ public class EnterpriseCertificationApproveController {
         Map<String,Object> searchParams = new HashMap<>();
 
         List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("id_","asc"));
+        sortList.add(new Sort("a.create_time","desc"));
 
-        if (StringUtils.isNotEmpty(id)) {
-            searchParams.put("id","%" + id + "%");
+        if (StringUtils.isNotEmpty(isCertification)) {
+            searchParams.put("isCertification",isCertification);
         }
 
         Page<EnterpriseCertificationApprove> page = enterpriseCertificationApproveService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+        for(EnterpriseCertificationApprove enterpriseCertificationApprove : page.getResult()){
+            switch (enterpriseCertificationApprove.getIsCertification()){
+                case "1": enterpriseCertificationApprove.setIsCertificationName("未审批"); break;
+                case "2": enterpriseCertificationApprove.setIsCertificationName("已审批"); break;
+            }
+            User user = userService.get(enterpriseCertificationApprove.getCreateBy());
+            enterpriseCertificationApprove.setCreateByName(user.getRealName());
+            Company company = companyService.get(enterpriseCertificationApprove.getCompanyId());
+            enterpriseCertificationApprove.setCompanyName(company.getName());
+            user = userService.get(enterpriseCertificationApprove.getApprovePersonId());
+            if(user != null){
+                enterpriseCertificationApprove.setApprovePersonName(user.getRealName());
+            }
+        }
 
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));

+ 249 - 0
web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentApproveController.java

@@ -0,0 +1,249 @@
+package com.jpsoft.employment.modules.job.controller;
+
+import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.base.entity.Company;
+import com.jpsoft.employment.modules.base.entity.EnterpriseCertificationApprove;
+import com.jpsoft.employment.modules.base.service.CompanyService;
+import com.jpsoft.employment.modules.common.utils.PojoUtils;
+import com.jpsoft.employment.modules.common.dto.Sort;
+import com.jpsoft.employment.modules.common.dto.MessageResult;
+import com.jpsoft.employment.modules.job.entity.Recruitment;
+import com.jpsoft.employment.modules.job.entity.RecruitmentApprove;
+import com.jpsoft.employment.modules.job.service.RecruitmentApproveService;
+import com.jpsoft.employment.modules.job.service.RecruitmentService;
+import com.jpsoft.employment.modules.sys.entity.User;
+import com.jpsoft.employment.modules.sys.service.UserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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("/job/recruitmentApprove")
+@Api(description = "recruitmentApprove")
+public class RecruitmentApproveController {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private RecruitmentService recruitmentService;
+    @Autowired
+    private RecruitmentApproveService recruitmentApproveService;
+    @Autowired
+    private CompanyService companyService;
+    @Autowired
+    private UserService userService;
+
+    @ApiOperation(value="创建空记录")
+    @GetMapping("create")
+    public MessageResult<RecruitmentApprove> create(){
+        MessageResult<RecruitmentApprove> msgResult = new MessageResult<>();
+
+        RecruitmentApprove recruitmentApprove = new RecruitmentApprove();
+
+        msgResult.setData(recruitmentApprove);
+        msgResult.setResult(true);
+
+        return msgResult;
+    }
+    
+    @ApiOperation(value="添加信息")
+    @PostMapping("add")
+    public MessageResult<RecruitmentApprove> add(@RequestBody RecruitmentApprove recruitmentApprove,@RequestAttribute String subject){
+        MessageResult<RecruitmentApprove> msgResult = new MessageResult<>();
+
+        try {
+            recruitmentApprove.setId(UUID.randomUUID().toString());
+            recruitmentApprove.setDelFlag(false);
+            recruitmentApprove.setCreateBy(subject);
+            recruitmentApprove.setCreateTime(new Date());
+            
+            int affectCount = recruitmentApproveService.insert(recruitmentApprove);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(recruitmentApprove);
+            } 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="获取信息")
+    @GetMapping("edit/{id}")
+    public MessageResult<RecruitmentApprove> edit(@PathVariable("id") String id){
+        MessageResult<RecruitmentApprove> msgResult = new MessageResult<>();
+
+        try {
+            RecruitmentApprove recruitmentApprove = recruitmentApproveService.get(id);
+
+            if (recruitmentApprove != null) {
+                msgResult.setResult(true);
+                msgResult.setData(recruitmentApprove);
+            } 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="更新用户")
+    @PostMapping("update")
+    public MessageResult<RecruitmentApprove> update(@RequestBody RecruitmentApprove recruitmentApprove,@RequestAttribute String subject){
+        MessageResult<RecruitmentApprove> msgResult = new MessageResult<>();
+
+        try {
+            recruitmentApprove.setUpdateBy(subject);
+            recruitmentApprove.setUpdateTime(new Date());
+            
+            int affectCount = recruitmentApproveService.update(recruitmentApprove);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(recruitmentApprove);
+            } 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="删除")
+    @PostMapping("delete/{id}")
+    public MessageResult<Integer> delete(@PathVariable("id") String id,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            RecruitmentApprove recruitmentApprove = recruitmentApproveService.get(id);
+            recruitmentApprove.setDelFlag(true);
+            recruitmentApprove.setUpdateBy(subject);
+            recruitmentApprove.setUpdateTime(new Date());
+
+            int affectCount = recruitmentApproveService.update(recruitmentApprove);
+
+            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="批量删除")
+    @PostMapping("batchDelete")
+    public MessageResult<Integer> batchDelete(@RequestBody List<String> idList,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            int affectCount = 0;
+
+            for (String id : idList) {
+                RecruitmentApprove recruitmentApprove = recruitmentApproveService.get(id);
+                recruitmentApprove.setDelFlag(true);
+                recruitmentApprove.setUpdateBy(subject);
+                recruitmentApprove.setUpdateTime(new Date());
+
+                affectCount += recruitmentApproveService.update(recruitmentApprove);
+            }
+
+            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(
+            String approveStatus,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            @RequestAttribute String 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(approveStatus)) {
+            searchParams.put("approveStatus",approveStatus);
+        }
+
+        Page<RecruitmentApprove> page = recruitmentApproveService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+        for(RecruitmentApprove recruitmentApprove : page.getResult()){
+            switch (recruitmentApprove.getApproveStatus()){
+                case "2": recruitmentApprove.setApproveStatusName("未审批"); break;
+                case "3": recruitmentApprove.setApproveStatusName("已审批"); break;
+            }
+            User user = userService.get(recruitmentApprove.getCreateBy());
+            recruitmentApprove.setCreateByName(user.getRealName());
+            Recruitment recruitment = recruitmentService.get(recruitmentApprove.getRecruitmentId());
+            Company company = companyService.get(recruitment.getCompanyId());
+            recruitmentApprove.setRecruitmentName("【"+company.getName()+"】"+recruitment.getTitle());
+            user = userService.get(recruitmentApprove.getApprovePersonId());
+            if(user != null){
+                recruitmentApprove.setApprovePersonName(user.getRealName());
+            }
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+}

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

@@ -536,7 +536,7 @@ public class RecruitmentController {
         Map<String,Object> searchParams = new HashMap<>();
 
         List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("id_","asc"));
+        sortList.add(new Sort("create_time","desc"));
 
         if (StringUtils.isNotEmpty(companyId)) {
             searchParams.put("companyId",companyId);
@@ -704,4 +704,35 @@ public class RecruitmentController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="更新用户")
+    @PostMapping("checked")
+    public MessageResult<Recruitment> checked(String id,@RequestAttribute String subject){
+        MessageResult<Recruitment> msgResult = new MessageResult<>();
+
+        try {
+            Recruitment recruitment = recruitmentService.get(id);
+            recruitment.setApproveStatus("3");
+            recruitment.setUpdateBy(subject);
+            recruitment.setUpdateTime(new Date());
+
+            int affectCount = recruitmentService.update(recruitment);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(recruitment);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库更新失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
 }

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

@@ -5,6 +5,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import com.jpsoft.employment.modules.base.entity.LabourServices;
+import com.jpsoft.employment.modules.job.entity.Recruitment;
+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.DataDictionaryService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -21,11 +28,6 @@ import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.utils.MapUtils;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
 import com.jpsoft.employment.modules.job.entity.RecruitmentVO;
-import com.jpsoft.employment.modules.job.service.JobUserService;
-import com.jpsoft.employment.modules.job.service.RecruitmentCollectionService;
-import com.jpsoft.employment.modules.job.service.RecruitmentService;
-import com.jpsoft.employment.modules.job.service.ResumeService;
-import com.jpsoft.employment.modules.job.service.UserBrowseHrService;
 import com.jpsoft.employment.modules.sys.entity.UserVO;
 import com.jpsoft.employment.modules.sys.service.UserService;
 
@@ -62,6 +64,11 @@ public class RecruiterApiController {
     @Autowired
     private ResumeService resumeService;
 
+    @Autowired
+    private DataDictionaryService dataDictionaryService;
+
+    @Autowired
+    private ResumeDeliverService resumeDeliverService;
 
     @PostMapping("getAboutMe")
     @ApiOperation(value = "招聘方['我的'主页]")
@@ -100,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));
         }
@@ -285,6 +292,11 @@ public class RecruiterApiController {
 
         Page<Map> page = resumeService.foundJobManagement(searchParams,pageIndex,pageSize,true,sortList);
 
+        for (Map map:page) {
+            String sexName = dataDictionaryService.findNameByCatalogNameAndValue("性别",map.get("sex").toString());
+            map.put("sex",sexName);
+        }
+
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));
 

+ 24 - 3
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitmentApiController.java

@@ -100,12 +100,11 @@ 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) {
-            sortList.add(new Sort("jr.id_","asc"));
+            sortList.add(new Sort("jr.create_time","desc"));
         }
 
         if (StringUtils.isNotEmpty(title)) {
@@ -365,6 +364,17 @@ public class RecruitmentApiController {
                     uc.setJobUserId(subject);
                     uc.setDelFlag(false);
 
+                    Recruitment recruitment = recruitmentService.get(recruitmentId);
+                    if(recruitment != null){
+                        //岗位收藏次数
+                        Integer collectionTimes = recruitment.getCollectionTimes();
+                        if(collectionTimes==null||collectionTimes < 0){
+                            collectionTimes = 0;
+                        }
+                        recruitment.setCollectionTimes(collectionTimes++);
+                        recruitmentService.update(recruitment);
+                    }
+
                     userCollectionService.insert(uc);
                 }else{
                     uc.setUpdateBy(subject);
@@ -380,6 +390,17 @@ public class RecruitmentApiController {
                     uc.setDelFlag(true);
 
                     userCollectionService.update(uc);
+
+                    Recruitment recruitment = recruitmentService.get(recruitmentId);
+                    if(recruitment != null){
+                        //岗位收藏次数
+                        Integer collectionTimes = recruitment.getCollectionTimes();
+                        if(collectionTimes==null||collectionTimes < 0){
+                            collectionTimes = 1;
+                        }
+                        recruitment.setCollectionTimes(collectionTimes--);
+                        recruitmentService.update(recruitment);
+                    }
                 }
             }
 

+ 11 - 0
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/ResumeApiController.java

@@ -177,6 +177,17 @@ public class ResumeApiController {
 
             int inCount = resumeDeliverService.insert(rd);
             if(inCount > 0) {
+
+                Recruitment recruitment = recruitmentService.get(recruitmentId);
+                if(recruitment != null){
+                    //岗位投递次数
+                    Integer deliveryTimes = recruitment.getDeliveryTimes();
+                    if(deliveryTimes==null||deliveryTimes < 0){
+                        deliveryTimes = 0;
+                    }
+                    recruitment.setDeliveryTimes(deliveryTimes++);
+                    recruitmentService.update(recruitment);
+                }
                 messageResult.setMessage("投递成功");
                 messageResult.setResult(true);
                 messageResult.setCode(200);

+ 3 - 2
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/UserBrowseHrApiController.java

@@ -141,7 +141,6 @@ public class UserBrowseHrApiController {
             String workExpName="";
             String dreamMoneyName="";
             String educationName="";
-//            String positionName = "";
 
 
             if(resume!=null){
@@ -175,7 +174,6 @@ public class UserBrowseHrApiController {
                     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())){
@@ -195,6 +193,9 @@ public class UserBrowseHrApiController {
             dto.setEducation(educationName);
             dto.setDreamMoney(dreamMoneyName);
             dto.setResumeId(resume.getId());
+            dto.setDreamAdd(resume.getDreamAdd());
+            dto.setJobStatus(dataDictionaryService.getName(resume.getJobStatus()));
+            dto.setSexN(dataDictionaryService.findNameByCatalogNameAndValue("性别",resume.getSex()));
 
             pageDto.add(dto);
         }