rayson 6 месяцев назад
Родитель
Сommit
8c6f8e7d08

+ 1 - 5
menduner/menduner-common/src/main/java/com/citu/module/menduner/common/CommonConstants.java

@@ -1,12 +1,8 @@
 package com.citu.module.menduner.common;
 
 import cn.hutool.core.map.MapUtil;
-import cn.hutool.core.util.RandomUtil;
-import com.citu.framework.common.util.date.DateUtils;
 import com.citu.module.system.api.mail.dto.MailSendSingleToUserReqDTO;
 
-import java.time.LocalDate;
-import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -162,7 +158,7 @@ public class CommonConstants {
      **/
     public static final String NOTIFY_SYS_POINT_REDEEM = "menduner_sys_point_redeem";
     /**
-     * 系统提示-开发票 1-{开票金额},2-{企业}
+     * 系统提示-开发票 1-{开票金额},2-{企业}
      **/
     public static final String NOTIFY_SYS_INVOICE = "menduner_sys_invoice";
     /**

+ 3 - 0
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java

@@ -270,6 +270,9 @@ public interface ErrorCodeConstants {
 
     ErrorCode MDE_ENTERPRISE_REGISTER_EMAIL_DUPLICATE = new ErrorCode(1_100_021_017, "[{}]该邮箱已被其他企业注册");
 
+    ErrorCode MDE_ENTERPRISE_REGISTER_CONTACT_EMAIL_DUPLICATE = new ErrorCode(1_100_021_018, "联系人的邮箱不能重复");
+    ErrorCode MDE_ENTERPRISE_REGISTER_CONTACT_PHONE_DUPLICATE = new ErrorCode(1_100_021_019, "联系人的联系电话不能重复");
+
     // ========== 企业地址 1_100_022_001 ==========
     ErrorCode MDE_ENTERPRISE_ADDRESS_NOT_EXISTS = new ErrorCode(1_100_022_001, "企业地址不存在");
 

+ 15 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/person/AppPersonController.java

@@ -5,6 +5,7 @@ import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.idempotent.core.annotation.Idempotent;
 import com.citu.framework.idempotent.core.keyresolver.impl.UserIdempotentKeyResolver;
+import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.framework.signature.core.annotation.ApiSignature;
 import com.citu.module.menduner.common.util.LoginUserContext;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedRespVO;
@@ -17,6 +18,7 @@ import com.citu.module.menduner.system.controller.base.person.block.PersonEnterp
 import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
 import com.citu.module.menduner.system.convert.PersonConvert;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
+import com.citu.module.menduner.system.service.area.AreaService;
 import com.citu.module.menduner.system.service.job.JobIntegrationService;
 import com.citu.module.menduner.system.service.person.block.PersonEnterpriseBlockService;
 import com.citu.module.menduner.system.service.person.favorite.PersonJobFavoriteService;
@@ -30,7 +32,6 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
-import com.citu.framework.security.core.annotations.PreAuthenticated;
 import javax.validation.Valid;
 
 import static com.citu.framework.common.pojo.CommonResult.success;
@@ -57,17 +58,27 @@ public class AppPersonController {
     @Resource
     private PersonEnterpriseBlockService blockService;
 
+    @Resource
+    private AreaService areaService;
+
     @PreAuthenticated
     @GetMapping("/get")
     @ApiSignature(timeout = 30)
     @Operation(summary = "获得人才信息")
     public CommonResult<AppPersonInfoRespVO> getUserInfo(@RequestParam(value = "userId", required = false) Long userId) {
-        Long userIdParam= LoginUserContext.getUserId();
-        if(null != userId){
+        Long userIdParam = LoginUserContext.getUserId();
+        if (null != userId) {
             userIdParam = userId;
         }
         PersonInfoDO userInfo = personInfoService.getUserInfoByUserId(userIdParam);
-        return success(PersonConvert.INSTANCE.convert(userInfo));
+        AppPersonInfoRespVO respVO = PersonConvert.INSTANCE.convert(userInfo);
+        if (null != respVO && null != respVO.getAreaId()) {
+            respVO.setArea(areaService.getById(respVO.getAreaId()));
+        }
+        if (null != respVO && null != respVO.getRegId()) {
+            respVO.setReg(areaService.getById(respVO.getRegId()));
+        }
+        return success(respVO);
     }
 
     @PreAuthenticated

+ 2 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseBusinessMapper.java

@@ -53,8 +53,8 @@ public interface EnterpriseBusinessMapper extends BaseMapperX<EnterpriseBusiness
                 .eqIfPresent(EnterpriseBusinessDO::getCode, code));
     }
 
-    default EnterpriseBusinessDO selectByName(String name) {
-        return selectOne(new LambdaQueryWrapperX<EnterpriseBusinessDO>()
+    default List<EnterpriseBusinessDO> selectByName(String name) {
+        return selectList(new LambdaQueryWrapperX<EnterpriseBusinessDO>()
                 .eqIfPresent(EnterpriseBusinessDO::getName, name));
     }
 

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/business/EnterpriseBusinessService.java

@@ -78,7 +78,7 @@ public interface EnterpriseBusinessService {
      * @param name 企业名称
      * @return 企业工商信息
      */
-    EnterpriseBusinessDO getByName(String name);
+    List<EnterpriseBusinessDO> getByName(String name);
 
     /**
      * 新增简易的工商信息

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/business/EnterpriseBusinessServiceImpl.java

@@ -88,7 +88,7 @@ public class EnterpriseBusinessServiceImpl implements EnterpriseBusinessService
     }
 
     @Override
-    public EnterpriseBusinessDO getByName(String name) {
+    public List<EnterpriseBusinessDO> getByName(String name) {
         return mapper.selectByName(name);
     }
 

+ 19 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterServiceImpl.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.service.enterprise.register;
 
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.map.MapUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.baiduaip.core.AipOcrClient;
@@ -39,6 +40,10 @@ import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
 import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.citu.framework.common.util.servlet.ServletUtils.getClientIP;
@@ -361,12 +366,24 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
             }
         }
         // 查询企业名称是否重复注册
-        EnterpriseBusinessDO enterpriseBusinessDO = businessService.getByName(reqVO.getName());
-        if (null != enterpriseBusinessDO) {
+        List<EnterpriseBusinessDO> enterpriseBusinessList = businessService.getByName(reqVO.getName());
+        if (CollUtil.isNotEmpty(enterpriseBusinessList)) {
             throw exception(MDE_ENTERPRISE_REGISTER_DUPLICATE);
         }
 
+        // 用于存储已经检查过的邮箱和电话
+        Set<String> emailSet = new HashSet<>();
+        Set<String> phoneSet = new HashSet<>();
         for (EnterpriseRegisterContactsReqVO contact : reqVO.getContacts()) {
+            // 判断邮箱是否重复
+            if (!emailSet.add(contact.getEmail())) {
+                throw exception(MDE_ENTERPRISE_REGISTER_CONTACT_EMAIL_DUPLICATE);
+            }
+            // 检查电话是否重复
+            if (!phoneSet.add(contact.getPhone())) {
+                throw exception(MDE_ENTERPRISE_REGISTER_CONTACT_PHONE_DUPLICATE, contact.getPhone());
+            }
+
             // 判断邮箱是否注册
             EnterpriseUserBindDO userBindDO = userBindService.getByEmail(contact.getEmail());
             if (null != userBindDO) {

+ 30 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationServiceImpl.java

@@ -166,6 +166,12 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
         respVO.setPerson(
                 PersonConvert.INSTANCE.convert2(personInfoMapper.getByUserId(userId))
         );
+        if(null != respVO.getPerson() && null != respVO.getPerson().getAreaId()) {
+            respVO.getPerson().setArea(areaService.getById(respVO.getPerson().getAreaId()));
+        }
+        if(null != respVO.getPerson() && null != respVO.getPerson().getRegId()) {
+            respVO.getPerson().setReg(areaService.getById(respVO.getPerson().getRegId()));
+        }
 
         respVO.setInterestedList(
                 JobInterestedConvert.INSTANCE.convertList2(jobInterestedMapper.selectByUserIdList(userId))
@@ -311,7 +317,14 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
 //        }
 
         PageResult<PersonInfoRespVO> result = personInfoMapper.queryPage(reqVO, ids, reqVO.getEnterpriseId());
-
+        result.getList().forEach(item -> {
+            if (null != item.getAreaId()) {
+                item.setArea(areaService.getById(item.getAreaId()));
+            }
+            if (null != item.getRegId()) {
+                item.setReg(areaService.getById(item.getRegId()));
+            }
+        });
         if (null != reqVO.getEnterpriseId()) {
             redisUtils.setEnterpriseUserLookPersonPermission(
                     result.getList().stream()
@@ -368,6 +381,14 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
         PageResult<PersonInfoRespVO> result = personInfoMapper.queryPageById(null == ids ? null : Arrays.asList(ids),
                 LoginUserContext.getEnterpriseId(),
                 reqVO);
+        result.getList().forEach(item -> {
+            if (null != item.getAreaId()) {
+                item.setArea(areaService.getById(item.getAreaId()));
+            }
+            if (null != item.getRegId()) {
+                item.setReg(areaService.getById(item.getRegId()));
+            }
+        });
         redisUtils.setEnterpriseUserLookPersonPermission(
                 result.getList().stream()
                         .map(PersonInfoRespVO::getUserId)
@@ -378,6 +399,14 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
     @Override
     public PageResult<PersonInfoRespVO> selectEnterpriseTalentPoolPage(PersonInfoPageReqVO reqVO) {
         PageResult<PersonInfoRespVO> result = personInfoMapper.selectEnterpriseTalentPoolPage(LoginUserContext.getEnterpriseId(), reqVO);
+        result.getList().forEach(item -> {
+            if (null != item.getAreaId()) {
+                item.setArea(areaService.getById(item.getAreaId()));
+            }
+            if (null != item.getRegId()) {
+                item.setReg(areaService.getById(item.getRegId()));
+            }
+        });
         redisUtils.setEnterpriseUserLookPersonPermission(result.getList().stream()
                 .map(PersonInfoRespVO::getUserId)
                 .collect(Collectors.toSet()));

+ 2 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties

@@ -194,6 +194,8 @@
 1_100_021_015=Password length is 8-36 digits
 1_100_021_016=Enterprise registration application in progress
 1_100_021_017=This email has been registered by another company
+1_100_021_018=Contact's email cannot be duplicated
+1_100_021_019=The contact phone number of the contact person cannot be duplicated
 # ========== 企业地址 1_100_022_001 ==========
 1_100_022_001=The company address does not exist
 # ========== 企业登录用户 1_100_023_000 ==========

+ 2 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

@@ -195,6 +195,8 @@
 1_100_021_015=密码长度为 8-36 位
 1_100_021_016=企业注册申请中
 1_100_021_017=该邮箱已被其他企业注册
+1_100_021_018=联系人的邮箱不能重复
+1_100_021_019=联系人的联系电话不能重复
 # ========== 企业地址 1_100_022_001 ==========
 1_100_022_001=企业地址不存在
 # ========== 企业登录用户 1_100_023_000 ==========