Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

yanliming 3 vuotta sitten
vanhempi
commit
4879dabe55
17 muutettua tiedostoa jossa 457 lisäystä ja 73 poistoa
  1. 1 1
      common/src/main/resources/mapper/base/MessageNotice.xml
  2. 2 3
      common/src/main/resources/mapper/job/JobUser.xml
  3. 5 0
      common/src/main/resources/mapper/job/Recruitment.xml
  4. 5 0
      common/src/main/resources/mapper/job/Resume.xml
  5. 23 3
      web/src/main/java/com/jpsoft/employment/modules/base/controller/CompanyController.java
  6. 1 0
      web/src/main/java/com/jpsoft/employment/modules/base/controller/EnterpriseCertificationApproveController.java
  7. 1 0
      web/src/main/java/com/jpsoft/employment/modules/base/controller/LabourServicesApproveController.java
  8. 25 9
      web/src/main/java/com/jpsoft/employment/modules/base/controller/LabourServicesController.java
  9. 23 3
      web/src/main/java/com/jpsoft/employment/modules/base/controller/UserAuthenticationApproveController.java
  10. 1 0
      web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentApproveController.java
  11. 127 6
      web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentController.java
  12. 4 4
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/JobUserApiController.java
  13. 0 4
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/LabourApiController.java
  14. 20 1
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/MessageNoticeApiController.java
  15. 3 1
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruiterApiController.java
  16. 140 2
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/RecruitmentApiController.java
  17. 76 36
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/ResumeApiController.java

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

@@ -144,7 +144,7 @@
 				and a.recipient_id = #{searchParams.recipientId}
 			</if>
 			<if test="searchParams.recipientIdAndNull != null">
-				and (a.recipient_id = #{searchParams.recipientId}
+				and (a.recipient_id = #{searchParams.recipientIdAndNull}
 				or a.recipient_id is null)
 			</if>
 			<if test="searchParams.classify != null">

+ 2 - 3
common/src/main/resources/mapper/job/JobUser.xml

@@ -191,14 +191,13 @@
 			  jj.real_name name,
 			  jj.head_image_url headImage,
 			  jre.id_ id,
-			  su.id_ sysUseId,
-			  jub.create_time as create_time
+			  su.id_ sysUseId
 			FROM
 			  job_user_browse jub
 			INNER JOIN job_recruitment jr ON jub.job_recruitment_id = jr.id_
 			INNER JOIN sys_user su ON jr.company_id = su.company_id
 			INNER JOIN job_jobuser jj ON jub.job_user_id = jj.id_
-			LEFT JOIN job_resume jre ON jj.id_ = jre.job_user_id on jre.approve_status=2
+			LEFT JOIN job_resume jre ON jj.id_ = jre.job_user_id
 		]]>
 		<where>
 			<if test="searchParams.id != null">

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

@@ -227,6 +227,8 @@
 				jr.title_ AS title,
 				jr.address_ AS address,
 				jr.requirements_ AS requirements,
+				jr.position_number AS positionNumber,
+				jr.welfare_ AS tagList,
 				bc.logo_ AS logo,
 				bc.name_ AS name,
 			    bci.city_name AS cityName,
@@ -275,6 +277,9 @@
 			<if test="searchParams.approveStatus != null">
 				and jr.approve_status = #{searchParams.approveStatus}
 			</if>
+			<if test="searchParams.id != null">
+				and jr.company_id like #{searchParams.id}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 			${sort.name} ${sort.order}

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

@@ -198,6 +198,7 @@
 			  year(now())-year(jre.birthday_)  age,
 			  sddd.name_ workExp,
 			  sdde.name_ education,
+			  sddf.name_ dreamAdd,
 			  jj.head_image_url headImage,
 			  jj.real_name name,
 			  jre.id_ resumeId,
@@ -212,6 +213,7 @@
 			LEFT JOIN sys_data_dictionary sddb ON jre.job_status = sddb.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 sys_data_dictionary sddf ON jre.dream_add = sddf.id_
 			LEFT JOIN job_jobuser jj ON jre.job_user_id = jj.id_
 			LEFT JOIN job_resume_deliver jrd ON jre.id_ = jrd.job_resume_id
 			LEFT JOIN job_recruitment jr ON jrd.job_recruitment_id = jr.id_
@@ -224,6 +226,9 @@
 			<if test="searchParams.type != null">
 				and jre.approve_status = #{searchParams.type}
 			</if>
+			<if test="searchParams.type = null">
+				and jre.approve_status > 0
+			</if>
 			<if test="searchParams.sex != null">
 				and jre.sex_ = #{searchParams.sex}
 			</if>

+ 23 - 3
web/src/main/java/com/jpsoft/employment/modules/base/controller/CompanyController.java

@@ -4,8 +4,10 @@ import com.github.pagehelper.Page;
 import com.jpsoft.employment.modules.base.entity.City;
 import com.jpsoft.employment.modules.base.entity.Company;
 import com.jpsoft.employment.modules.base.entity.EnterpriseCertificationApprove;
+import com.jpsoft.employment.modules.base.entity.MessageNotice;
 import com.jpsoft.employment.modules.base.service.CompanyService;
 import com.jpsoft.employment.modules.base.service.EnterpriseCertificationApproveService;
+import com.jpsoft.employment.modules.base.service.MessageNoticeService;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
@@ -36,6 +38,8 @@ public class CompanyController {
     private CompanyService companyService;
     @Autowired
     private EnterpriseCertificationApproveService enterpriseCertificationApproveService;
+    @Autowired
+    private MessageNoticeService messageNoticeService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -301,12 +305,12 @@ public class CompanyController {
 
     @ApiOperation(value="更新用户")
     @PostMapping("checked")
-    public MessageResult<Company> checked(String id,String cid,@RequestAttribute String subject){
+    public MessageResult<Company> checked(String id,String cid,String approveStatus,@RequestAttribute String subject){
         MessageResult<Company> msgResult = new MessageResult<>();
 
         try {
             EnterpriseCertificationApprove enterpriseCertificationApprove = enterpriseCertificationApproveService.get(id);
-            enterpriseCertificationApprove.setApproveStatus("2");
+            enterpriseCertificationApprove.setApproveStatus(approveStatus);
             enterpriseCertificationApprove.setApprovePersonId(subject);
             enterpriseCertificationApprove.setApproveTime(new Date());
             enterpriseCertificationApprove.setUpdateBy(subject);
@@ -316,11 +320,27 @@ public class CompanyController {
 
             if (affectCount > 0) {
                 Company company = companyService.get(cid);
-                company.setIsCertification("2");
+                company.setIsCertification(approveStatus);
                 company.setUpdateBy(subject);
                 company.setUpdateTime(new Date());
                 companyService.update(company);
 
+                if(approveStatus.equals("4")){
+                    MessageNotice messageNotice = new MessageNotice();
+                    messageNotice.setId(UUID.randomUUID().toString());
+                    messageNotice.setTitle("企业信息审核");
+                    messageNotice.setContent("经过核对,数据存疑,请查实后再次提交审核。");
+                    messageNotice.setRecipientId(enterpriseCertificationApprove.getCreateBy());
+                    messageNotice.setStatus(true);
+                    messageNotice.setDelFlag(false);
+                    messageNotice.setCreateBy(subject);
+                    messageNotice.setCreateTime(new Date());
+                    messageNotice.setClassify("1");
+                    messageNotice.setType("1");
+                    messageNotice.setIsNeedAgree(false);
+                    messageNoticeService.insert(messageNotice);
+                }
+
                 msgResult.setResult(true);
                 msgResult.setData(company);
             } else {

+ 1 - 0
web/src/main/java/com/jpsoft/employment/modules/base/controller/EnterpriseCertificationApproveController.java

@@ -286,6 +286,7 @@ public class EnterpriseCertificationApproveController {
             switch (enterpriseCertificationApprove.getApproveStatus()){
                 case "1": enterpriseCertificationApprove.setApproveStatusName("未审批"); break;
                 case "2": enterpriseCertificationApprove.setApproveStatusName("已审批"); break;
+                case "4": enterpriseCertificationApprove.setApproveStatusName("退回"); break;
             }
             User user = userService.get(enterpriseCertificationApprove.getCreateBy());
             enterpriseCertificationApprove.setCreateByName(user.getRealName());

+ 1 - 0
web/src/main/java/com/jpsoft/employment/modules/base/controller/LabourServicesApproveController.java

@@ -231,6 +231,7 @@ public class LabourServicesApproveController {
             switch (labourServicesApprove.getApproveStatus()){
                 case "1": labourServicesApprove.setApproveStatusName("未审批"); break;
                 case "2": labourServicesApprove.setApproveStatusName("已审批"); break;
+                case "4": labourServicesApprove.setApproveStatusName("退回"); break;
             }
             User user = userService.get(labourServicesApprove.getCreateBy());
             Company company = companyService.get(user.getCompanyId());

+ 25 - 9
web/src/main/java/com/jpsoft/employment/modules/base/controller/LabourServicesController.java

@@ -1,13 +1,11 @@
 package com.jpsoft.employment.modules.base.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.entity.LabourServices;
-import com.jpsoft.employment.modules.base.entity.LabourServicesApprove;
+import com.jpsoft.employment.modules.base.entity.*;
 import com.jpsoft.employment.modules.base.service.CompanyService;
 import com.jpsoft.employment.modules.base.service.LabourServicesApproveService;
 import com.jpsoft.employment.modules.base.service.LabourServicesService;
+import com.jpsoft.employment.modules.base.service.MessageNoticeService;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
@@ -38,12 +36,12 @@ public class LabourServicesController {
     private LabourServicesApproveService labourServicesApproveService;
     @Autowired
     private DataDictionaryService dataDictionaryService;
-
     @Autowired
     private CompanyService companyService;
-
     @Autowired
     private UserService userService;
+    @Autowired
+    private MessageNoticeService messageNoticeService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -354,12 +352,12 @@ public class LabourServicesController {
 
     @ApiOperation(value="审核")
     @PostMapping("checked")
-    public MessageResult<LabourServices> checked(String id,String cid,@RequestAttribute String subject){
+    public MessageResult<LabourServices> checked(String id,String cid,String approveStatus,@RequestAttribute String subject){
         MessageResult<LabourServices> msgResult = new MessageResult<>();
 
         try {
             LabourServicesApprove labourServicesApprove = labourServicesApproveService.get(id);
-            labourServicesApprove.setApproveStatus("2");
+            labourServicesApprove.setApproveStatus(approveStatus);
             labourServicesApprove.setApprovePersonId(subject);
             labourServicesApprove.setApproveTime(new Date());
             labourServicesApprove.setUpdateBy(subject);
@@ -369,11 +367,29 @@ public class LabourServicesController {
 
             if (affectCount > 0) {
                 LabourServices labourServices = labourServicesService.get(cid);
-                labourServices.setApprovalStatus("2");
+                labourServices.setApprovalStatus(approveStatus);
+                labourServices.setApprovePersonId(subject);
+                labourServices.setApproveTime(new Date());
                 labourServices.setUpdateBy(subject);
                 labourServices.setUpdateTime(new Date());
                 labourServicesService.update(labourServices);
 
+                if(approveStatus.equals("4")){
+                    MessageNotice messageNotice = new MessageNotice();
+                    messageNotice.setId(UUID.randomUUID().toString());
+                    messageNotice.setTitle("劳务对接审核");
+                    messageNotice.setContent("经过核对,数据存疑,请查实后再次提交审核。");
+                    messageNotice.setRecipientId(labourServicesApprove.getCreateBy());
+                    messageNotice.setStatus(true);
+                    messageNotice.setDelFlag(false);
+                    messageNotice.setCreateBy(subject);
+                    messageNotice.setCreateTime(new Date());
+                    messageNotice.setClassify("1");
+                    messageNotice.setType("1");
+                    messageNotice.setIsNeedAgree(false);
+                    messageNoticeService.insert(messageNotice);
+                }
+
                 msgResult.setResult(true);
                 msgResult.setData(labourServices);
             } else {

+ 23 - 3
web/src/main/java/com/jpsoft/employment/modules/base/controller/UserAuthenticationApproveController.java

@@ -1,7 +1,9 @@
 package com.jpsoft.employment.modules.base.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.employment.modules.base.entity.MessageNotice;
 import com.jpsoft.employment.modules.base.entity.UserAuthenticationApprove;
+import com.jpsoft.employment.modules.base.service.MessageNoticeService;
 import com.jpsoft.employment.modules.base.service.UserAuthenticationApproveService;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.common.dto.Sort;
@@ -39,6 +41,8 @@ public class UserAuthenticationApproveController {
     private JobUserService jobUserService;
     @Autowired
     private UserService userService;
+    @Autowired
+    private MessageNoticeService messageNoticeService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -244,14 +248,14 @@ public class UserAuthenticationApproveController {
     @ApiOperation(value="实名审核")
     @PostMapping("checked")
     @Transactional(rollbackFor = Exception.class)
-    public MessageResult<UserAuthenticationApprove> checked(String id,@RequestAttribute String subject){
+    public MessageResult<UserAuthenticationApprove> checked(String id,String approveStatus,@RequestAttribute String subject){
         MessageResult<UserAuthenticationApprove> msgResult = new MessageResult<>();
 
         try {
             UserAuthenticationApprove userAuthenticationApprove = userAuthenticationApproveService.get(id);
             userAuthenticationApprove.setApprovePersonId(subject);
             userAuthenticationApprove.setApproveTime(new Date());
-            userAuthenticationApprove.setApprovalStatus("1");
+            userAuthenticationApprove.setApprovalStatus(approveStatus);
             userAuthenticationApprove.setUpdateBy(subject);
             userAuthenticationApprove.setUpdateTime(new Date());
 
@@ -259,11 +263,27 @@ public class UserAuthenticationApproveController {
 
             if (affectCount > 0) {
                 JobUser jobUser = jobUserService.get(userAuthenticationApprove.getJobUserId());
-                jobUser.setIsAuthentication("1");
+                jobUser.setIsAuthentication(approveStatus);
                 jobUser.setUpdateBy(subject);
                 jobUser.setUpdateTime(new Date());
                 jobUserService.update(jobUser);
 
+                if(approveStatus.equals("4")){
+                    MessageNotice messageNotice = new MessageNotice();
+                    messageNotice.setId(UUID.randomUUID().toString());
+                    messageNotice.setTitle("用户实名审核");
+                    messageNotice.setContent("经过核对,数据存疑,请查实后再次提交审核。");
+                    messageNotice.setRecipientId(userAuthenticationApprove.getCreateBy());
+                    messageNotice.setStatus(true);
+                    messageNotice.setDelFlag(false);
+                    messageNotice.setCreateBy(subject);
+                    messageNotice.setCreateTime(new Date());
+                    messageNotice.setClassify("1");
+                    messageNotice.setType("1");
+                    messageNotice.setIsNeedAgree(false);
+                    messageNoticeService.insert(messageNotice);
+                }
+
                 msgResult.setResult(true);
                 msgResult.setData(userAuthenticationApprove);
             } else {

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

@@ -231,6 +231,7 @@ public class RecruitmentApproveController {
             switch (recruitmentApprove.getApproveStatus()){
                 case "2": recruitmentApprove.setApproveStatusName("未审批"); break;
                 case "3": recruitmentApprove.setApproveStatusName("已审批"); break;
+                case "4": recruitmentApprove.setApproveStatusName("退回"); break;
             }
             User user = userService.get(recruitmentApprove.getCreateBy());
             recruitmentApprove.setCreateByName(user.getRealName());

+ 127 - 6
web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentController.java

@@ -4,8 +4,10 @@ import com.github.pagehelper.Page;
 import com.google.gson.JsonObject;
 import com.jpsoft.employment.modules.base.entity.City;
 import com.jpsoft.employment.modules.base.entity.Company;
+import com.jpsoft.employment.modules.base.entity.MessageNotice;
 import com.jpsoft.employment.modules.base.service.CityService;
 import com.jpsoft.employment.modules.base.service.CompanyService;
+import com.jpsoft.employment.modules.base.service.MessageNoticeService;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
 import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
@@ -50,9 +52,10 @@ public class RecruitmentController {
     private UserService userService;
     @Autowired
     private WorkCategoryService workCategoryService;
-
     @Autowired
     private CityService cityService;
+    @Autowired
+    private MessageNoticeService messageNoticeService;
 
     @ApiOperation(value="创建空记录")
     @GetMapping("create")
@@ -146,7 +149,7 @@ public class RecruitmentController {
         return msgResult;
     }
 
-    @ApiOperation(value="获取信息")
+    @ApiOperation(value="HR企业信息维护-获取信息")
     @GetMapping("edit/{id}")
     public MessageResult<Recruitment> edit(@PathVariable("id") String id,@RequestAttribute String subject){
         MessageResult<Recruitment> msgResult = new MessageResult<>();
@@ -735,14 +738,14 @@ public class RecruitmentController {
         return msgResult;
     }
 
-    @ApiOperation(value="更新用户")
+    @ApiOperation(value="审批")
     @PostMapping("checked")
-    public MessageResult<Recruitment> checked(String id, String approveId, @RequestAttribute String subject){
+    public MessageResult<Recruitment> checked(String id, String approveId, String approveStatus, @RequestAttribute String subject){
         MessageResult<Recruitment> msgResult = new MessageResult<>();
 
         try {
             Recruitment recruitment = recruitmentService.get(id);
-            recruitment.setApproveStatus("3");
+            recruitment.setApproveStatus(approveStatus);
             recruitment.setUpdateBy(subject);
             recruitment.setUpdateTime(new Date());
 
@@ -750,11 +753,27 @@ public class RecruitmentController {
 
             if (affectCount > 0) {
                 RecruitmentApprove recruitmentApprove = recruitmentApproveService.get(approveId);
-                recruitmentApprove.setApproveStatus("3");
+                recruitmentApprove.setApproveStatus(approveStatus);
                 recruitmentApprove.setApprovePersonId(subject);
                 recruitmentApprove.setApproveTime(new Date());
                 recruitmentApproveService.update(recruitmentApprove);
 
+                if(approveStatus.equals("4")){
+                    MessageNotice messageNotice = new MessageNotice();
+                    messageNotice.setId(UUID.randomUUID().toString());
+                    messageNotice.setTitle("岗位信息审核");
+                    messageNotice.setContent("经过核对,数据存疑,请查实后再次提交审核。");
+                    messageNotice.setRecipientId(recruitmentApprove.getCreateBy());
+                    messageNotice.setStatus(true);
+                    messageNotice.setDelFlag(false);
+                    messageNotice.setCreateBy(subject);
+                    messageNotice.setCreateTime(new Date());
+                    messageNotice.setClassify("1");
+                    messageNotice.setType("1");
+                    messageNotice.setIsNeedAgree(false);
+                    messageNoticeService.insert(messageNotice);
+                }
+
                 msgResult.setResult(true);
                 msgResult.setData(recruitment);
             } else {
@@ -771,4 +790,106 @@ public class RecruitmentController {
 
         return msgResult;
     }
+
+    @ApiOperation(value="获取信息")
+    @GetMapping("editD/{id}")
+    public MessageResult<Recruitment> editD(@PathVariable("id") String id,@RequestAttribute String subject){
+        MessageResult<Recruitment> msgResult = new MessageResult<>();
+
+        try {
+            Recruitment recruitment = recruitmentService.get(id);
+            Company company = companyService.get(recruitment.getCompanyId());
+
+            recruitment.setCompanyName(company.getName());
+            recruitment.setCompanyLogo(company.getLogo());
+
+            recruitment.setCompanyIndustryN(dataDictionaryService.getName(company.getIndustry()));
+            recruitment.setCompanyScaleN(dataDictionaryService.getName(company.getScale()));
+            recruitment.setWorkYearName(dataDictionaryService.getName(recruitment.getWorkYear()));
+            recruitment.setEducationName(dataDictionaryService.getName(recruitment.getEducation()));
+            recruitment.setWageTypeName(dataDictionaryService.getName(recruitment.getWageType()));
+
+            if (recruitment != null) {
+                if(StringUtils.isNotEmpty(recruitment.getWelfare())) {
+                    String welfare = recruitment.getWelfare();
+
+                    List<String> tagList = new ArrayList<>();
+
+                    JSONObject jsonObject = JSONObject.fromObject(welfare);
+                    if(jsonObject!=null&&jsonObject.size()>0){
+
+                        String checkboxGroup1="";
+                        String dynamicTags="";
+
+                        if(jsonObject.get("checkboxGroup1")!=null){
+                            checkboxGroup1 = jsonObject.get("checkboxGroup1").toString();
+                        }
+
+                        if(jsonObject.get("dynamicTags")!=null){
+                            dynamicTags = jsonObject.get("dynamicTags").toString();
+                        }
+
+                        if(StringUtils.isNotEmpty(checkboxGroup1)){
+                            recruitment.setCheckboxGroup1(checkboxGroup1);
+
+                            String[] checkboxGroupArray = checkboxGroup1.split(",");
+                            for (String dicId:checkboxGroupArray) {
+                                DataDictionary dataDictionary = dataDictionaryService.get(dicId);
+                                if(dataDictionary!=null){
+                                    tagList.add(dataDictionary.getName());
+                                }
+                            }
+                        }
+
+                        if(StringUtils.isNotEmpty(dynamicTags)){
+                            recruitment.setDynamicTags(dynamicTags);
+                            String[] dynamicTagArray = dynamicTags.split(",");
+                            for (String name:dynamicTagArray) {
+                                tagList.add(name);
+                            }
+                        }
+
+                        recruitment.setTagList(tagList);
+                    }
+                }
+
+                recruitment.setCompanyName(company.getName());
+                recruitment.setCompanyLogo(company.getLogo());
+                recruitment.setIsCertification(company.getIsCertification());
+                recruitment.setCompanyScaleN(dataDictionaryService.getName(company.getScale()));
+                recruitment.setCompanyIndustryN(dataDictionaryService.getName(company.getIndustry()));
+
+                recruitment.setWorkYearName(dataDictionaryService.getName(recruitment.getWorkYear()));
+                recruitment.setEducationName(dataDictionaryService.getName(recruitment.getEducation()));
+                recruitment.setWageTypeName(dataDictionaryService.getName(recruitment.getWageType()));
+
+                WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
+                if(workCategory!=null){
+                    recruitment.setPositionName(workCategory.getName());
+                }
+
+                if(StringUtils.isNotEmpty(recruitment.getPositionSex())){
+                    recruitment.setPositionSexN(dataDictionaryService.findNameByCatalogNameAndValue("性别",recruitment.getPositionSex()));
+                }
+                else{
+                    recruitment.setPositionSexN("男女不限");
+                }
+
+
+                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;
+    }
 }

+ 4 - 4
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/JobUserApiController.java

@@ -185,8 +185,8 @@ public class JobUserApiController {
 
                 messageResult = SMSUtil.send(telephone, "SMS_49390047", verifyCodeJSON.toString());
 
-                //设置当前用户的验证码,5分钟内有效
-                valueOperations.set(key, verifyCode, 10, TimeUnit.MINUTES);
+                //设置当前用户的验证码,3分钟内有效
+                valueOperations.set(key, verifyCode, 5, TimeUnit.MINUTES);
             }
 
             messageResult.setResult(true);
@@ -739,7 +739,7 @@ public class JobUserApiController {
                 }
             }
 
-            String key = "SMS_" + jobUser.getTel();
+            String key = "SMS_" + telephone;
 
             String verifyCode = (String) valueOperations.get(key);
 
@@ -751,7 +751,7 @@ public class JobUserApiController {
                 messageResult = SMSUtil.send(telephone, "SMS_49390047", verifyCodeJSON.toString());
 
                 //设置当前用户的验证码,5分钟内有效
-                valueOperations.set(key, verifyCode, 10, TimeUnit.MINUTES);
+                valueOperations.set(key, verifyCode, 5, TimeUnit.MINUTES);
             }
 
             messageResult.setResult(true);

+ 0 - 4
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/LabourApiController.java

@@ -70,10 +70,6 @@ public class LabourApiController {
             List<Sort> sortList = new ArrayList<>();
             sortList.add(new Sort("create_time","desc"));
 
-            if(!userService.hasRole(user.getId(),"SYSADMIN")&&!userService.hasRole(user.getId(),"ADMIN")){
-                searchParams.put("userId", user.getId());
-            }
-
             if (StringUtils.isNotEmpty(approvalStatus)) {
                 searchParams.put("approvalStatus",approvalStatus);
             }

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

@@ -191,7 +191,7 @@ public class MessageNoticeApiController {
 
         try {
             List<Sort> sortList = new ArrayList<>();
-            sortList.add(new Sort("a.create_time","asc"));
+            sortList.add(new Sort("a.create_time","desc"));
 
             Map<String,Object> searchParams = new HashMap<>();
 
@@ -357,6 +357,25 @@ public class MessageNoticeApiController {
                     resumeDeliverRecord.setRemark("用户同意");
                     resumeDeliverRecordService.insert(resumeDeliverRecord);
                 }
+            }else{
+                if(StringUtils.isNotEmpty(messageNotice.getDeliverId())){
+                    ResumeDeliver resumeDeliver = resumeDeliverService.get(messageNotice.getDeliverId());
+
+                    resumeDeliver.setChatStatus("6");
+                    resumeDeliver.setUpdateBy(subject);
+                    resumeDeliver.setUpdateTime(new Date());
+                    resumeDeliverService.update(resumeDeliver);
+
+                    ResumeDeliverRecord resumeDeliverRecord = new ResumeDeliverRecord();
+                    resumeDeliverRecord.setId(UUID.randomUUID().toString());
+                    resumeDeliverRecord.setCreateBy(subject);
+                    resumeDeliverRecord.setCreateTime(new Date());
+                    resumeDeliverRecord.setDelFlag(false);
+                    resumeDeliverRecord.setResumeDeliverId(resumeDeliver.getId());
+                    resumeDeliverRecord.setStep("拒绝");
+                    resumeDeliverRecord.setRemark("用户已拒绝");
+                    resumeDeliverRecordService.insert(resumeDeliverRecord);
+                }
             }
 
             messageResult.setResult(true);

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

@@ -303,7 +303,9 @@ public class RecruiterApiController {
             searchParams.put("id","%" + id + "%");
         }
 
-        searchParams.put("type",type);
+        if (StringUtils.isNotEmpty(id)) {
+            searchParams.put("type",type);
+        }
 
         Page<Map> page = resumeService.foundJobManagement(searchParams,pageIndex,pageSize,true,sortList);
 

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

@@ -10,6 +10,7 @@ import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
 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.entity.User;
 import com.jpsoft.employment.modules.sys.service.DataDictionaryService;
 import com.jpsoft.employment.modules.sys.service.UserService;
@@ -18,6 +19,7 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+import net.sf.json.JSONObject;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hslf.record.CString;
 import org.slf4j.Logger;
@@ -129,6 +131,43 @@ public class RecruitmentApiController {
 
         Page<Map> page = recruitmentService.foundPageList(searchParams,pageIndex,pageSize,true,sortList);
 
+        for (Map map:page) {
+            List<String> welfareList = new ArrayList<>();
+            Object tagListN = map.get("tagList");
+            if(tagListN != null){
+                JSONObject jsonObject = JSONObject.fromObject(tagListN.toString());
+                if(jsonObject!=null&&jsonObject.size()>0) {
+                    String checkboxGroup1="";
+                    String dynamicTags="";
+                    if(jsonObject.get("checkboxGroup1")!=null){
+                        checkboxGroup1 = jsonObject.get("checkboxGroup1").toString();
+                    }
+                    if(jsonObject.get("dynamicTags")!=null){
+                        dynamicTags = jsonObject.get("dynamicTags").toString();
+                    }
+                    if(StringUtils.isNotEmpty(checkboxGroup1)){
+                        String[] checkboxGroupArray = checkboxGroup1.split(",");
+                        for (String dicId:checkboxGroupArray) {
+                            DataDictionary dataDictionary = dataDictionaryService.get(dicId);
+                            if(dataDictionary!=null){
+                                welfareList.add(dataDictionary.getName());
+                            }
+                        }
+                    }
+                    if(StringUtils.isNotEmpty(dynamicTags)){
+                        String[] dynamicTagArray = dynamicTags.split(",");
+                        for (String name:dynamicTagArray) {
+                            welfareList.add(name);
+                        }
+                    }
+                }
+                map.put("tagList",welfareList.toArray());
+            } else {
+                map.put("tagList","");
+            }
+
+        }
+
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));
 
@@ -220,6 +259,49 @@ public class RecruitmentApiController {
             WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
             recruitment.setPositionName(workCategory.getName());
 
+            if(StringUtils.isNotEmpty(recruitment.getWelfare())) {
+                String welfare = recruitment.getWelfare();
+
+                List<String> tagList = new ArrayList<>();
+
+                JSONObject jsonObject = JSONObject.fromObject(welfare);
+                if(jsonObject!=null&&jsonObject.size()>0){
+
+                    String checkboxGroup1="";
+                    String dynamicTags="";
+
+                    if(jsonObject.get("checkboxGroup1")!=null){
+                        checkboxGroup1 = jsonObject.get("checkboxGroup1").toString();
+                    }
+
+                    if(jsonObject.get("dynamicTags")!=null){
+                        dynamicTags = jsonObject.get("dynamicTags").toString();
+                    }
+
+                    if(StringUtils.isNotEmpty(checkboxGroup1)){
+                        recruitment.setCheckboxGroup1(checkboxGroup1);
+
+                        String[] checkboxGroupArray = checkboxGroup1.split(",");
+                        for (String dicId:checkboxGroupArray) {
+                            DataDictionary dataDictionary = dataDictionaryService.get(dicId);
+                            if(dataDictionary!=null){
+                                tagList.add(dataDictionary.getName());
+                            }
+                        }
+                    }
+
+                    if(StringUtils.isNotEmpty(dynamicTags)){
+                        recruitment.setDynamicTags(dynamicTags);
+                        String[] dynamicTagArray = dynamicTags.split(",");
+                        for (String name:dynamicTagArray) {
+                            tagList.add(name);
+                        }
+                    }
+
+                    recruitment.setTagList(tagList);
+                }
+            }
+
             //热度
 //            int heatNum = userBrowseService.findNumberByRId(recruitment.getId());
 //            if(heatNum < 0 ){
@@ -307,6 +389,43 @@ public class RecruitmentApiController {
 
         Page<Map> page = recruitmentService.foundPageList(searchParams,1,5,true,sortList);
 
+        for (Map map:page) {
+            List<String> welfareList = new ArrayList<>();
+            Object tagListN = map.get("tagList");
+            if(tagListN != null){
+                JSONObject jsonObject = JSONObject.fromObject(tagListN.toString());
+                if(jsonObject!=null&&jsonObject.size()>0) {
+                    String checkboxGroup1="";
+                    String dynamicTags="";
+                    if(jsonObject.get("checkboxGroup1")!=null){
+                        checkboxGroup1 = jsonObject.get("checkboxGroup1").toString();
+                    }
+                    if(jsonObject.get("dynamicTags")!=null){
+                        dynamicTags = jsonObject.get("dynamicTags").toString();
+                    }
+                    if(StringUtils.isNotEmpty(checkboxGroup1)){
+                        String[] checkboxGroupArray = checkboxGroup1.split(",");
+                        for (String dicId:checkboxGroupArray) {
+                            DataDictionary dataDictionary = dataDictionaryService.get(dicId);
+                            if(dataDictionary!=null){
+                                welfareList.add(dataDictionary.getName());
+                            }
+                        }
+                    }
+                    if(StringUtils.isNotEmpty(dynamicTags)){
+                        String[] dynamicTagArray = dynamicTags.split(",");
+                        for (String name:dynamicTagArray) {
+                            welfareList.add(name);
+                        }
+                    }
+                }
+                map.put("tagList",welfareList.toArray());
+            } else {
+                map.put("tagList","");
+            }
+
+        }
+
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));
 
@@ -318,7 +437,11 @@ public class RecruitmentApiController {
     @ApiImplicitParams({
             @ApiImplicitParam(name = "id", value = "id", required = true, paramType = "form")
     })
-    public MessageResult<Map> getCompanyDetails(String id,String token) {
+    public MessageResult<Map> getCompanyDetails(
+            String id,
+            String token,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize) {
         MessageResult<Map> msgResult = new MessageResult<>();
 
         Map<String,Object> searchParams = new HashMap<>();
@@ -334,7 +457,7 @@ public class RecruitmentApiController {
         searchParams.put("status", 1);
         searchParams.put("approveStatus", 3);
 
-        Page<Map> page = recruitmentService.foundPageList(searchParams,1,20,true,sortList);
+        Page<Map> page = recruitmentService.foundPageList(searchParams,pageIndex,pageSize,true,sortList);
 
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));
@@ -538,6 +661,21 @@ public class RecruitmentApiController {
         searchParams.put("approveStatus", 3);
 
         Page<Recruitment> page = recruitmentService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+        for(Recruitment recruitment : page.getResult()){
+            Company company = companyService.get(recruitment.getCompanyId());
+            if(company != null){
+                recruitment.setCompanyName(company.getName());
+                String scaleName = dataDictionaryService.getName(company.getScale());
+                recruitment.setCompanyScaleN(scaleName);
+                String industryN = dataDictionaryService.getName(company.getIndustry());
+                recruitment.setCompanyIndustryN(industryN);
+                recruitment.setCompanyLogo(company.getLogo());
+
+                recruitment.setWorkYearName(dataDictionaryService.getName(recruitment.getWorkYear()));
+                recruitment.setEducationName(dataDictionaryService.getName(recruitment.getEducation()));
+                recruitment.setWageTypeName(dataDictionaryService.getName(recruitment.getWageType()));
+            }
+        }
 
         msgResult.setResult(true);
         msgResult.setData(PojoUtils.pageWrapper(page));

+ 76 - 36
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/ResumeApiController.java

@@ -136,7 +136,13 @@ public class ResumeApiController {
         MessageResult<String> messageResult = new MessageResult<>();
 
         try {
-            //JobUser jobUser = jobUserService.get(subject);
+            JobUser jobUser = jobUserService.get(subject);
+            if(!"1".equals(jobUser.getIsAuthentication())){
+                messageResult.setMessage("未实名无法投递简历");
+                messageResult.setResult(false);
+                messageResult.setCode(400);
+                return messageResult;
+            }
             Resume resume = null;
             if(StringUtils.isNotEmpty(resumeId)) {
                 resume = resumeService.get(resumeId);
@@ -149,7 +155,7 @@ public class ResumeApiController {
                 messageResult.setCode(400);
                 return messageResult;
             }else{
-                if(!"0".equals(resume.getStatus())){
+                if("0".equals(resume.getStatus())){
                     messageResult.setMessage("当前简历未开启");
                     messageResult.setResult(false);
                     messageResult.setCode(400);
@@ -325,8 +331,9 @@ public class ResumeApiController {
             }
             resume.setUserIsAuthenticationName(dataDictionaryService.findNameByCatalogNameAndValue("实名制状态",resume.getUserIsAuthentication()));
             resume.setStatusName(dataDictionaryService.findNameByCatalogNameAndValue("简历状态",resume.getStatus()));
+            resume.setDreamAddName(dataDictionaryService.findNameByCatalogNameAndValue("期望工作地",resume.getDreamAdd()));
 
-            //教育经验
+            //教育经验l
             List<ResumeEducationExperience> rexList = resumeEducationExperienceService.findByResumeId(resume.getId());
             //工作经验
             List<ResumeWorkExperience> rweList = resumeWorkExperienceService.findByResumeId(resume.getId());
@@ -457,7 +464,7 @@ public class ResumeApiController {
             @DateTimeFormat(pattern = "yyyy-MM-dd") Date birthday,
             @RequestParam(value="dreamAdd",defaultValue="") String dreamAdd,
             @RequestParam(value="introduction",defaultValue="") String introduction,
-            @RequestParam(value="status",defaultValue="0") String status,
+            @RequestParam(value="status",defaultValue="1") String status,
             @RequestParam(value="expJson",defaultValue="") String expJson,
             @RequestParam(value="resumeUrls",defaultValue="") String resumeUrls,
             String token,
@@ -576,50 +583,57 @@ public class ResumeApiController {
             @RequestParam(value="pageSize",defaultValue="10") int pageSize,
             String token,
             @RequestAttribute  String subject){
-
         MessageResult<Map> msgResult = new MessageResult<>();
+        try {
 
-        Map<String,Object> searchParams = new HashMap<>();
+            Map<String, Object> searchParams = new HashMap<>();
 
-        User sysUser = userService.get(subject);
+            User sysUser = userService.get(subject);
 
-        List<Recruitment> recruitmentList = recruitmentService.findByCompanyId(sysUser.getCompanyId());
-        if(recruitmentList.size()>0){
-            searchParams.put("recruitmentList", recruitmentList);
-        }
+            List<Recruitment> recruitmentList = recruitmentService.findByCompanyId(sysUser.getCompanyId());
+            if (recruitmentList.size() > 0) {
+                searchParams.put("recruitmentList", recruitmentList);
+            }
 
-        List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("a.create_time","desc"));
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("a.create_time", "desc"));
 
-        searchParams.put("status", 1);
-        searchParams.put("approveStatus", 3);
-        searchParams.put("isAuthentication", 1);//实名制状态
+            searchParams.put("status", 1);
+            searchParams.put("approveStatus", 3);
+            searchParams.put("isAuthentication", 1);//实名制状态
 
-        Page<Resume> page = resumeService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
-        for(Resume resume : page.getResult()){
-            JobUser jobUser = jobUserService.get(resume.getJobUserId());
-            resume.setUserName(jobUser.getRealName());
-            resume.setUserTel(jobUser.getTel());
-            resume.setUserPhoto(jobUser.getHeadImageUrl());
-            resume.setSexName(dataDictionaryService.findNameByCatalogNameAndValue("性别",resume.getSex()));
-            resume.setDreamMoneyName(dataDictionaryService.getName(resume.getDreamMoney()));
-            resume.setWorkExpName(dataDictionaryService.getName(resume.getWorkExp()));
-            resume.setEducationName(dataDictionaryService.getName(resume.getEducation()));
-            resume.setJobStatusName(dataDictionaryService.getName(resume.getJobStatus()));
-            WorkCategory workCategory = workCategoryService.get(resume.getPositionCategoryId());
-            if(workCategory != null) {
-                resume.setPositionCategoryName(workCategory.getName());
-            }
+            Page<Resume> page = resumeService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
+            for (Resume resume : page.getResult()) {
+                JobUser jobUser = jobUserService.get(resume.getJobUserId());
+                resume.setUserName(jobUser.getRealName());
+                resume.setUserTel(jobUser.getTel());
+                resume.setUserPhoto(jobUser.getHeadImageUrl());
+                resume.setUserAddress(jobUser.getAddress());
+                resume.setUserAge(String.valueOf(getAge(jobUser.getBirthday())));
+                resume.setSexName(dataDictionaryService.findNameByCatalogNameAndValue("性别", resume.getSex()));
+                resume.setDreamMoneyName(dataDictionaryService.getName(resume.getDreamMoney()));
+                resume.setWorkExpName(dataDictionaryService.getName(resume.getWorkExp()));
+                resume.setEducationName(dataDictionaryService.getName(resume.getEducation()));
+                resume.setJobStatusName(dataDictionaryService.getName(resume.getJobStatus()));
+                WorkCategory workCategory = workCategoryService.get(resume.getPositionCategoryId());
+                if (workCategory != null) {
+                    resume.setPositionCategoryName(workCategory.getName());
+                }
 //            City city = cityService.get(Integer.parseInt(resume.getDreamAdd()));
 //            if(city != null){
 //                resume.setDreamAddName(city.getCityName());
 //            }
-            resume.setDreamAddName(dataDictionaryService.findNameByCatalogNameAndValue("期望工作地",resume.getDreamAdd()));
-            //resume.setUserIsAuthenticationName(dataDictionaryService.findNameByCatalogNameAndValue("实名制状态",resume.getUserIsAuthentication()));
-            //resume.setStatusName(dataDictionaryService.findNameByCatalogNameAndValue("简历状态",resume.getStatus()));
+                resume.setDreamAddName(dataDictionaryService.findNameByCatalogNameAndValue("期望工作地", resume.getDreamAdd()));
+                //resume.setUserIsAuthenticationName(dataDictionaryService.findNameByCatalogNameAndValue("实名制状态",resume.getUserIsAuthentication()));
+                //resume.setStatusName(dataDictionaryService.findNameByCatalogNameAndValue("简历状态",resume.getStatus()));
+            }
+            msgResult.setResult(true);
+            msgResult.setData(PojoUtils.pageWrapper(page));
+        }catch (Exception e){
+            e.printStackTrace();
+            msgResult.setResult(false);
+            msgResult.setMessage(e.getMessage());
         }
-        msgResult.setResult(true);
-        msgResult.setData(PojoUtils.pageWrapper(page));
 
         return msgResult;
     }
@@ -716,6 +730,32 @@ public class ResumeApiController {
         return updateCount;
     }
 
+    private int getAge(Date birthDay) throws Exception {
+        Calendar cal = Calendar.getInstance();
+        if (cal.before(birthDay)) {
+            throw new IllegalArgumentException("The birthDay is before Now.It's unbelievable!");
+        }
+        int yearNow = cal.get(Calendar.YEAR);
+        int monthNow = cal.get(Calendar.MONTH);
+        int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH);
+        cal.setTime(birthDay);
+
+        int yearBirth = cal.get(Calendar.YEAR);
+        int monthBirth = cal.get(Calendar.MONTH);
+        int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
+
+        int age = yearNow - yearBirth;
+
+        if (monthNow <= monthBirth) {
+            if (monthNow == monthBirth) {
+                if (dayOfMonthNow < dayOfMonthBirth) age--;
+            }else{
+                age--;
+            }
+        }
+        return age;
+    }
+
     public static void main(String[] args) {
         String workExpJson = "{\"workExp\":[{\"id\":\"123\",\"name\":\"标题一\",\"timeS\":\"2020\",\"timeE\":\"2021\",\"remark\":\"工作1\",\"content\":\"内容\"},{\"id\":\"223\",\"name\":\"标题二\",\"timeS\":\"2022\",\"timeE\":\"至今\",\"remark\":\"工作2\",\"content\":\"内容2\"}],\"educationExp\":[{\"id\":\"323\",\"name\":\"标题一\",\"timeS\":\"2025\",\"timeE\":\"2026\",\"remark\":\"教育1\",\"content\":\"内容1\"},{\"id\":\"423\",\"name\":\"标题一\",\"timeS\":\"1\",\"timeE\":\"2\",\"remark\":\"教育2\",\"content\":\"内容2\"}]}";