浏览代码

代码同步

shuzhan 2 年之前
父节点
当前提交
432b4cd71a

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/base/dao/JobEnterpriseRelationDAO.java

@@ -18,4 +18,5 @@ public interface JobEnterpriseRelationDAO {
 	List<JobEnterpriseRelation> searchMobile(Map<String, Object> searchParams, List<Sort> sortList);
 
 	List<JobEnterpriseRelation> findByEnterpriseId(String enterpriseId);
+	JobEnterpriseRelation findByEnterpriseIdAndJobInformationId(String enterpriseId,String jobInformationId);
 }

+ 7 - 0
common/src/main/java/com/jpsoft/employment/modules/base/entity/JobEnterpriseRelation.java

@@ -59,4 +59,11 @@ public class JobEnterpriseRelation {
 	@ApiModelProperty(value = "信息")
 	private JobInformationInfo jobInformationInfo;
 
+	@ApiModelProperty(value = "岗位信息ID")
+	private String recruitInformationId;
+
+	@Transient
+	@ApiModelProperty(value = "岗位信息")
+	private RecruitInformationInfo recruitInformationInfo;
+
 }

+ 4 - 0
common/src/main/java/com/jpsoft/employment/modules/base/entity/RecruitInformationInfo.java

@@ -80,6 +80,10 @@ public class RecruitInformationInfo {
 	@ApiModelProperty(value = "薪资形式")
 	private String salaryForm;
 
+	@Transient
+	@ApiModelProperty(value = "薪资形式翻译")
+	private String salaryFormN;
+
 
 
 	@Transient

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/JobEnterpriseRelationService.java

@@ -16,4 +16,5 @@ public interface JobEnterpriseRelationService {
 	Page<JobEnterpriseRelation> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 	Page<JobEnterpriseRelation> pageSearchMobile(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 	List<JobEnterpriseRelation> findByEnterpriseId(String enterpriseId);
+	JobEnterpriseRelation findByEnterpriseIdAndJobInformationId(String enterpriseId,String jobInformationId);
 }

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

@@ -81,4 +81,9 @@ public class JobEnterpriseRelationServiceImpl implements JobEnterpriseRelationSe
 	public List<JobEnterpriseRelation> findByEnterpriseId(String enterpriseId){
 		return jobEnterpriseRelationDAO.findByEnterpriseId(enterpriseId);
 	}
+
+	@Override
+	public JobEnterpriseRelation findByEnterpriseIdAndJobInformationId(String enterpriseId,String jobInformationId){
+		return jobEnterpriseRelationDAO.findByEnterpriseIdAndJobInformationId(enterpriseId,jobInformationId);
+	}
 }

+ 1 - 1
common/src/main/resources/mapper/base/EnterpriseInfo.xml

@@ -24,7 +24,7 @@
 	-->
 	<![CDATA[
 		insert into base_enterprise_info
-	    (id_,name_,license_image,status_,create_by,create_time,update_by,update_time,del_flag,address_.contacts_person_id)
+	    (id_,name_,license_image,status_,create_by,create_time,update_by,update_time,del_flag,address_,contacts_person_id)
 		values
 		(
 #{id,jdbcType=VARCHAR}

+ 12 - 1
common/src/main/resources/mapper/base/JobEnterpriseRelation.xml

@@ -12,6 +12,7 @@
 			<result property="updateBy" column="update_by" />
 			<result property="updateTime" column="update_time" />
 			<result property="delFlag" column="del_flag" />
+			<result property="recruitInformationId" column="recruit_information_id" />
 			</resultMap>
 	<insert id="insert" parameterType="com.jpsoft.employment.modules.base.entity.JobEnterpriseRelation">
 	<!--
@@ -21,7 +22,7 @@
 	-->
 	<![CDATA[
 		insert into base_job_enterprise_relation
-	    (id_,job_information_id,enterprise_id,create_by,create_time,update_by,update_time,del_flag)
+	    (id_,job_information_id,enterprise_id,create_by,create_time,update_by,update_time,del_flag,recruit_information_id)
 		values
 		(
 #{id,jdbcType=VARCHAR}
@@ -32,6 +33,7 @@
 ,#{updateBy,jdbcType=VARCHAR}
 ,#{updateTime,jdbcType= TIMESTAMP }
 ,#{delFlag,jdbcType= NUMERIC }
+,#{recruitInformationId,jdbcType=VARCHAR}
 		)
 	]]>
 	</insert>
@@ -62,6 +64,9 @@
 				<if test="delFlag!=null">
 		del_flag=#{delFlag,jdbcType= NUMERIC },
 		</if>
+			<if test="recruitInformationId!=null">
+				recruit_information_id=#{recruitInformationId,jdbcType=VARCHAR},
+			</if>
 		</set>
 	where id_=#{id}
 	</update>
@@ -106,6 +111,9 @@
 			<if test="searchParams.enterpriseId != null">
 				and a.enterprise_id = #{searchParams.enterpriseId}
 			</if>
+			<if test="searchParams.recruitInformationId != null">
+				and a.recruit_information_id = #{searchParams.recruitInformationId}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 			${sort.name} ${sort.order}
@@ -114,4 +122,7 @@
 	<select id="findByEnterpriseId" resultMap="JobEnterpriseRelationMap">
 		select * from base_job_enterprise_relation where del_flag = 0 and enterprise_id = #{enterpriseId}
 	</select>
+	<select id="findByEnterpriseIdAndJobInformationId" resultMap="JobEnterpriseRelationMap">
+		select * from base_job_enterprise_relation where del_flag = 0 and enterprise_id = #{enterpriseId}  and job_information_id = #{jobInformationId}
+	</select>
 </mapper>

+ 3 - 0
common/src/main/resources/mapper/base/RecruitInformationInfo.xml

@@ -157,6 +157,9 @@
 			<if test="searchParams.enterpriseId != null">
 				and a.enterprise_id = #{searchParams.enterpriseId}
 			</if>
+			<if test="searchParams.status != null">
+				and a.status_ = #{searchParams.status}
+			</if>
 			<if test="searchParams.settlementMethod != null">
 				and a.settlement_method = #{searchParams.settlementMethod}
 			</if>

+ 1 - 1
common/src/main/resources/mapper/base/ShareWorksInfo.xml

@@ -113,7 +113,7 @@
 		<where>
 			a.del_flag = 0
 			<if test="searchParams.createBy != null">
-				and a.cteate_by = #{searchParams.createBy}
+				and a.create_by = #{searchParams.createBy}
 			</if>
 			<if test="searchParams.status != null">
 				and a.status_ = #{searchParams.status}

+ 44 - 3
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/JobApiController.java

@@ -6,6 +6,7 @@ import com.jpsoft.employment.modules.base.entity.*;
 import com.jpsoft.employment.modules.base.service.*;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.common.dto.Sort;
+import com.jpsoft.employment.modules.common.utils.JwtUtil;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
 import com.jpsoft.employment.modules.sys.service.DataDictionaryService;
 import io.swagger.annotations.Api;
@@ -44,6 +45,8 @@ public class JobApiController {
     @Autowired
     private JobInformationInfoService jobInformationInfoService;
     @Autowired
+    private JobEnterpriseRelationService jobEnterpriseRelationService;
+    @Autowired
     private EnterpriseInfoService enterpriseInfoService;
     @Autowired
     private ShareWorksInfoService shareWorksInfoService;
@@ -65,6 +68,12 @@ public class JobApiController {
 
             Map returnMap = new HashMap();
             JobInformationInfo jobInformationInfo = jobInformationInfoService.findByPersonId(personInfo.getId());
+            if(jobInformationInfo != null) {
+                jobInformationInfo.setIntendedIndustriesN(dataDictionaryService.findNameByCatalogNameAndValue("意向行业", jobInformationInfo.getIntendedIndustries()));
+                jobInformationInfo.setMethodN(dataDictionaryService.findNameByCatalogNameAndValue("结算方式", jobInformationInfo.getMethod()));
+                jobInformationInfo.setWorkExperienceN(dataDictionaryService.findNameByCatalogNameAndValue("工作经验", jobInformationInfo.getWorkExperience()));
+                jobInformationInfo.setEducationN(dataDictionaryService.findNameByCatalogNameAndValue("学历", jobInformationInfo.getEducation()));
+            }
 
             returnMap.put("jobInformationInfo",jobInformationInfo);
             msgResult.setData(returnMap);
@@ -79,7 +88,7 @@ public class JobApiController {
         return msgResult;
     }
 
-    @ApiOperation(value="发布求职信息")
+    @ApiOperation(value="发布我的简历信")
     @RequestMapping(value = "createJobHunt",method = RequestMethod.POST)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "简历ID(传为修改", required = false, paramType = "form"),
@@ -192,10 +201,27 @@ public class JobApiController {
             @ApiImplicitParam(name = "id", value = "简历ID", required = false, paramType = "form"),
     })
     public MessageResult<Map> jobDetail(
-            @RequestParam(value="id",defaultValue="") String id){
+            @RequestParam(value="id",defaultValue="") String id,
+            HttpServletRequest request){
 
         MessageResult<Map> msgResult = new MessageResult<>();
         try {
+            String subject = "";
+
+            String token = request.getHeader("Authorization");
+
+            if (org.springframework.util.StringUtils.isEmpty(token)){
+                token = (String)request.getSession().getAttribute("token");
+            }
+
+            if (org.springframework.util.StringUtils.isEmpty(token)) {
+                token = request.getParameter("token");
+            }
+
+            if (org.apache.commons.lang3.StringUtils.isNotEmpty(token)){
+                subject = JwtUtil.decodeToken(jwtSecret,token);
+            }
+
             Map<String,Object> returnMap = new HashMap<>();
             JobInformationInfo jobInformationInfo = jobInformationInfoService.get(id);
             PersonInfo personInfo = null;
@@ -203,8 +229,17 @@ public class JobApiController {
                 personInfo = personInfoService.get(jobInformationInfo.getPersonId());
             }
 
+            Boolean isInvite = false;
+            //是否已邀请
+            PersonInfo user = personInfoService.get(subject);
+            if(user != null){
+                jobEnterpriseRelationService.findByEnterpriseIdAndJobInformationId(user.getEnterpriseId(),id);
+            }
+
             returnMap.put("jobInformationInfo",jobInformationInfo);
             returnMap.put("personInfo",personInfo);
+            returnMap.put("isInvite",isInvite);
+
             msgResult.setResult(true);
         }catch (Exception e){
             msgResult.setResult(false);
@@ -248,7 +283,13 @@ public class JobApiController {
                 recruitPersonRelation.setRecruitInformationId(recruitId);
                 recruitPersonRelation.setWorkPersonId(subject);
 
-                recruitPersonRelationService.insert(recruitPersonRelation);
+                int count = recruitPersonRelationService.insert(recruitPersonRelation);
+
+                if(count > 0){
+                    msgResult.setResult(true);
+                }else{
+                    msgResult.setResult(false);
+                }
             }
 
 

+ 9 - 3
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/NewsApiController.java

@@ -69,15 +69,13 @@ public class NewsApiController {
         MessageResult<Map> messageResult = new MessageResult<>();
 
         try {
-
-            
-
             Map<String,Object> searchParams = new HashMap<>();
 
             List<Sort> sortList = new ArrayList<>();
             sortList.add(new Sort("create_time","desc"));
 
             searchParams.put("category",category);
+            searchParams.put("status","1");
 
             Page<NewsInfo> page = newsInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
 
@@ -110,6 +108,14 @@ public class NewsApiController {
             }
             newsInfo.setCategoryN(dataDictionaryService.findNameByCatalogNameAndValue("新闻类型",newsInfo.getCategory()));
 
+            Integer browseNumber = 0;
+            if(newsInfo.getBrowseNumber() != null){
+                browseNumber = newsInfo.getBrowseNumber();
+            }
+            browseNumber++;
+            newsInfo.setBrowseNumber(browseNumber);
+            newsInfoService.update(newsInfo);
+
             returnMap.put("newsInfo",newsInfo);
 
             messageResult.setResult(true);

+ 103 - 24
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitApiController.java

@@ -85,6 +85,7 @@ public class RecruitApiController {
                 searchParams.put("settlementMethod",type);
             }
 
+            searchParams.put("status","1");
             Page<RecruitInformationInfo> page = recruitInformationInfoService.pageSearchMobile(searchParams,pageIndex,pageSize,true,sortList);
             for(RecruitInformationInfo recruitInformationInfo : page.getResult()){
                 recruitInformationInfo.setSettlementMethodN(dataDictionaryService.findNameByCatalogNameAndValue("结算方式",recruitInformationInfo.getSettlementMethod()));
@@ -157,6 +158,7 @@ public class RecruitApiController {
                     searchParams.put("salaryForm",salaryForm);
                 }
 
+                searchParams.put("status","1");
                 Page<RecruitInformationInfo> page = recruitInformationInfoService.pageSearchMobile(searchParams,pageIndex,pageSize,true,sortList);
                 for(RecruitInformationInfo recruitInformationInfo : page.getResult()){
                     recruitInformationInfo.setSettlementMethodN(dataDictionaryService.findNameByCatalogNameAndValue("结算方式",recruitInformationInfo.getSettlementMethod()));
@@ -183,6 +185,7 @@ public class RecruitApiController {
                     searchParams.put("workExp",workExp);
                 }
 
+                searchParams.put("status","1");
                 Page<JobInformationInfo> page = jobInformationInfoService.pageSearchMobile(searchParams,pageIndex,pageSize,true,sortList);
                 for (JobInformationInfo jobInformationInfo:page) {
                     PersonInfo personInfo = personInfoService.get(jobInformationInfo.getPersonId());
@@ -190,26 +193,11 @@ public class RecruitApiController {
                         jobInformationInfo.setPersonName(personInfo.getRealName());
                     }
 
-                    String intendedIndustriesN = dataDictionaryService.findNameByCatalogNameAndValue("意向行业",jobInformationInfo.getIntendedIndustries());
-                    if(StringUtils.isNotEmpty(intendedIndustriesN)){
-                        jobInformationInfo.setIntendedIndustriesN(intendedIndustriesN);
-                    }
-
-                    String methodN = dataDictionaryService.findNameByCatalogNameAndValue("结算方式",jobInformationInfo.getMethod());
-                    if(StringUtils.isNotEmpty(methodN)){
-                        jobInformationInfo.setMethodN(methodN);
-                    }
-
-                    String workExperienceN = dataDictionaryService.findNameByCatalogNameAndValue("工作经验",jobInformationInfo.getWorkExperience());
-                    if(StringUtils.isNotEmpty(workExperienceN)){
-                        jobInformationInfo.setWorkExperienceN(workExperienceN);
-                    }
-
+                    jobInformationInfo.setIntendedIndustriesN(dataDictionaryService.findNameByCatalogNameAndValue("意向行业",jobInformationInfo.getIntendedIndustries()));
+                    jobInformationInfo.setMethodN(dataDictionaryService.findNameByCatalogNameAndValue("结算方式",jobInformationInfo.getMethod()));
+                    jobInformationInfo.setWorkExperienceN(dataDictionaryService.findNameByCatalogNameAndValue("工作经验",jobInformationInfo.getWorkExperience()));
+                    jobInformationInfo.setEducationN(dataDictionaryService.findNameByCatalogNameAndValue("学历",jobInformationInfo.getEducation()));
 
-                    String educationN = dataDictionaryService.findNameByCatalogNameAndValue("学历",jobInformationInfo.getEducation());
-                    if(StringUtils.isNotEmpty(educationN)){
-                        jobInformationInfo.setEducationN(educationN);
-                    }
                 }
 
                 messageResult.setData(PojoUtils.pageWrapper(page));
@@ -264,6 +252,7 @@ public class RecruitApiController {
                 searchParams.put("workExp",workExp);
             }
 
+            searchParams.put("status","1");
             Page<RecruitInformationInfo> page = recruitInformationInfoService.pageSearchMobile(searchParams,pageIndex,pageSize,true,sortList);
             for(RecruitInformationInfo recruitInformationInfo : page.getResult()){
                 recruitInformationInfo.setSettlementMethodN(dataDictionaryService.findNameByCatalogNameAndValue("结算方式",recruitInformationInfo.getSettlementMethod()));
@@ -378,7 +367,7 @@ public class RecruitApiController {
         return msgResult;
     }
 
-    @ApiOperation(value="招聘信息详细(免登陆")
+    @ApiOperation(value="招聘信息详细(公开接口")
     @RequestMapping(value = "recruitDetail",method = RequestMethod.POST)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "recruitId", value = "招聘信息ID", required = false, paramType = "form"),
@@ -388,19 +377,36 @@ public class RecruitApiController {
             HttpServletRequest request){
         MessageResult<Map> msgResult = new MessageResult<>();
         try {
-            String subject = (String)request.getAttribute("subject");
+            String subject = "";
+
+            String token = request.getHeader("Authorization");
+
+            if (org.springframework.util.StringUtils.isEmpty(token)){
+                token = (String)request.getSession().getAttribute("token");
+            }
+
+            if (org.springframework.util.StringUtils.isEmpty(token)) {
+                token = request.getParameter("token");
+            }
+
+            if (org.apache.commons.lang3.StringUtils.isNotEmpty(token)){
+                subject = JwtUtil.decodeToken(jwtSecret,token);
+            }
 
             Boolean isJoin = false;
 
             Map<String,Object> returnMap = new HashMap<>();
             RecruitInformationInfo recruitInformationInfo = recruitInformationInfoService.get(recruitId);
+            if(recruitInformationInfo == null){
+                throw new Exception("未找到信息");
+            }
 
             int BrowseNumber = 0;
             if(recruitInformationInfo.getBrowseNumber() != null){
                 BrowseNumber = recruitInformationInfo.getBrowseNumber();
-
             }
-            recruitInformationInfo.setBrowseNumber(BrowseNumber++);
+            BrowseNumber++;
+            recruitInformationInfo.setBrowseNumber(BrowseNumber);
             recruitInformationInfoService.update(recruitInformationInfo);
 
 
@@ -417,6 +423,11 @@ public class RecruitApiController {
                 }
             }
 
+            recruitInformationInfo.setIndustryN(dataDictionaryService.findNameByCatalogNameAndValue("意向行业",recruitInformationInfo.getIndustry()));
+            recruitInformationInfo.setSettlementMethodN(dataDictionaryService.findNameByCatalogNameAndValue("结算方式",recruitInformationInfo.getSettlementMethod()));
+            recruitInformationInfo.setSalaryFormN(dataDictionaryService.findNameByCatalogNameAndValue("薪资形式",recruitInformationInfo.getSalaryForm()));
+
+
 
             returnMap.put("recruitInformationInfo",recruitInformationInfo);
             returnMap.put("enterpriseInfo",enterpriseInfo);
@@ -485,7 +496,7 @@ public class RecruitApiController {
                 shareWorksInfo.setContent(content);
                 shareWorksInfo.setAuthor(personInfo.getRealName());
 
-                shareWorksInfoService.update(shareWorksInfo);
+                shareWorksInfoService.insert(shareWorksInfo);
             }
 
             msgResult.setResult(true);
@@ -518,8 +529,14 @@ public class RecruitApiController {
             }
 
             Map<String,Object> searchParams = new HashMap<>();
+
+            if(StringUtils.isEmpty(personInfo.getEnterpriseId())){
+                personInfo.setEnterpriseId("wufachakan");
+            }
             searchParams.put("enterpriseId",personInfo.getEnterpriseId());
 
+            searchParams.put("status",status);
+
             List<Sort> sortList = new ArrayList<>();
             sortList.add(new Sort("a.create_time","desc"));
 
@@ -668,6 +685,9 @@ public class RecruitApiController {
                     JobInformationInfo jobInformationInfo = jobInformationInfoService.get(jobEnterpriseRelation.getJobInformationId());
                     jobInformationInfo.setMethodN(dataDictionaryService.findNameByCatalogNameAndValue("结算方式",jobInformationInfo.getMethod()));
                     jobEnterpriseRelation.setJobInformationInfo(jobInformationInfo);
+
+                    RecruitInformationInfo recruitInformationInfo = recruitInformationInfoService.get(jobEnterpriseRelation.getRecruitInformationId());
+                    jobEnterpriseRelation.setRecruitInformationInfo(recruitInformationInfo);
                 }
                 msgResult.setResult(true);
                 msgResult.setData(PojoUtils.pageWrapper(page));
@@ -764,4 +784,63 @@ public class RecruitApiController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="邀请工人(企业邀请简历")
+    @RequestMapping(value = "inviteJob",method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "jobId", value = "简历ID", required = false, paramType = "form"),
+            @ApiImplicitParam(name = "recruitId", value = "岗位ID", required = false, paramType = "form"),
+    })
+    public MessageResult<Map> inviteJob(
+            @RequestParam(value="jobId",defaultValue="") String jobId,
+            @RequestParam(value="recruitId",defaultValue="") String recruitId,
+            @RequestAttribute String subject){
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+        try {
+
+            PersonInfo personInfo = personInfoService.get(subject);
+            if (personInfo == null) {
+                throw new Exception("未登录");
+            }
+
+            RecruitInformationInfo recruitInformationInfo = recruitInformationInfoService.get(recruitId);
+            if(recruitInformationInfo == null){
+                throw new Exception("未找到岗位信息");
+            }
+
+            JobInformationInfo jobInformationInfo = jobInformationInfoService.get(jobId);
+            if(jobInformationInfo == null){
+                throw new Exception("未找到简历信息");
+            }
+
+            JobEnterpriseRelation jobEnterpriseRelation = jobEnterpriseRelationService.findByEnterpriseIdAndJobInformationId(recruitInformationInfo.getEnterpriseId(),jobId);
+            if(jobEnterpriseRelation == null){
+                jobEnterpriseRelation = new JobEnterpriseRelation();
+                jobEnterpriseRelation.setId(UUID.randomUUID().toString());
+                jobEnterpriseRelation.setCreateBy(subject);
+                jobEnterpriseRelation.setCreateTime(new Date());
+                jobEnterpriseRelation.setDelFlag(false);
+
+                jobEnterpriseRelation.setEnterpriseId(recruitInformationInfo.getEnterpriseId());
+                jobEnterpriseRelation.setJobInformationId(jobId);
+                jobEnterpriseRelation.setRecruitInformationId(recruitId);
+                int count = jobEnterpriseRelationService.insert(jobEnterpriseRelation);
+                if(count > 0){
+                    msgResult.setResult(true);
+                }else{
+                    msgResult.setResult(false);
+                }
+
+            }else{
+                throw new Exception("已经邀请");
+            }
+        }catch (Exception e){
+            msgResult.setResult(false);
+            msgResult.setMessage(e.getMessage());
+            e.printStackTrace();
+        }
+
+        return msgResult;
+    }
 }