Bläddra i källkod

1、增加屏蔽企业功能以逻辑

rayson 9 månader sedan
förälder
incheckning
81cd407e6b
24 ändrade filer med 557 tillägg och 131 borttagningar
  1. 1 1
      menduner/menduner-common/src/main/java/com/citu/module/menduner/common/enums/EventAsyncUrlEnum.java
  2. 5 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  3. 30 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/person/AppPersonController.java
  4. 13 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/enterprise/AppRecruitEnterpriseController.java
  5. 10 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/enterprise/vo/AppRecruitEnterpriseBusinessSimpleRespVO.java
  6. 43 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/business/EnterpriseBusinessSimpleRespVO.java
  7. 30 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/block/PersonEnterpriseBlockPageReqVO.java
  8. 31 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/block/PersonEnterpriseBlockRespVO.java
  9. 16 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/block/PersonEnterpriseBlockSaveReqVO.java
  10. 38 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonEnterpriseBlockDO.java
  11. 8 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseBusinessMapper.java
  12. 45 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonEnterpriseBlockMapper.java
  13. 25 55
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java
  14. 20 11
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseService.java
  15. 11 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/business/EnterpriseBusinessService.java
  16. 6 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/business/EnterpriseBusinessServiceImpl.java
  17. 22 15
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterServiceImpl.java
  18. 6 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationServiceImpl.java
  19. 23 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/block/PersonEnterpriseBlockService.java
  20. 74 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/block/PersonEnterpriseBlockServiceImpl.java
  21. 92 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/MdeInnerUtils.java
  22. 0 39
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/MdeUserInnerUtils.java
  23. 4 1
      menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties
  24. 4 1
      menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

+ 1 - 1
menduner/menduner-common/src/main/java/com/citu/module/menduner/common/enums/EventAsyncUrlEnum.java

@@ -13,7 +13,7 @@ import lombok.Getter;
 public enum EventAsyncUrlEnum {
 
     INVITE_USER("/event/async/invite/user", "邀请用户注册", true,"?userId="),
-    REGISTER_ENTERPRISE("/event/async/enterprise/register", "企业用户注册", false,null),
+    REGISTER_ENTERPRISE("/event/async/enterprise/register", "企业注册申请操作人帮忙注册个人用户", false,null),
 
     ;
 

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

@@ -499,4 +499,9 @@ public interface ErrorCodeConstants {
     ErrorCode REDEEM_CONTACT_PHONE_NOT_NULL = new ErrorCode(1_100_049_006, "联系电话不能为空");
     ErrorCode REDEEM_TYPE_NOT_NULL = new ErrorCode(1_100_049_007, "商品类型不能为空");
 
+    // ========== 人才屏蔽企业关系 1_100_050_000 ==========
+    ErrorCode PERSON_ENTERPRISE_BLOCK_NOT_EXISTS = new ErrorCode(1_100_050_001, "人才屏蔽企业关系不存在");
+
+    ErrorCode PERSON_ENTERPRISE_BLOCK_ALREADY_BLOCK = new ErrorCode(1_100_050_002, "企业已屏蔽,请勿重复点击");
+
 }

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

@@ -4,14 +4,16 @@ import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
-import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseBaseSimpleRespVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedRespVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.enterprise.PersonEnterpriseSubscribeReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.job.AppPersonJobFavoriteReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.vo.AppPersonInfoRespVO;
+import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseBaseSimpleRespVO;
+import com.citu.module.menduner.system.controller.base.person.block.PersonEnterpriseBlockSaveReqVO;
 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.job.JobIntegrationService;
+import com.citu.module.menduner.system.service.person.block.PersonEnterpriseBlockService;
 import com.citu.module.menduner.system.service.person.favorite.PersonJobFavoriteService;
 import com.citu.module.menduner.system.service.person.info.PersonInfoService;
 import com.citu.module.menduner.system.service.person.subscribe.PersonEnterpriseSubscribeService;
@@ -46,6 +48,9 @@ public class AppPersonController {
     @Resource
     private JobIntegrationService jobIntegrationService;
 
+    @Resource
+    private PersonEnterpriseBlockService blockService;
+
     @PreAuthenticated
     @GetMapping("/get")
     @Operation(summary = "获得人才信息")
@@ -71,6 +76,29 @@ public class AppPersonController {
         return success(result);
     }
 
+    @PreAuthenticated
+    @PostMapping("/enterprise-block/block")
+    @Operation(summary = "屏蔽-屏蔽企业")
+    public CommonResult<Boolean> block(@Valid @RequestBody PersonEnterpriseBlockSaveReqVO reqVO) {
+        blockService.block(reqVO);
+        return success(true);
+    }
+
+    @PreAuthenticated
+    @DeleteMapping("/enterprise-block/un-block")
+    @Operation(summary = "屏蔽-取消屏蔽企业")
+    public CommonResult<Boolean> unBlock(@Valid @RequestBody PersonEnterpriseBlockSaveReqVO reqVO) {
+        blockService.unBlock(reqVO);
+        return success(true);
+    }
+
+    @PreAuthenticated
+    @GetMapping("/enterprise-block/page")
+    @Operation(summary = "屏蔽-获得屏蔽企业")
+    public CommonResult<PageResult<EnterpriseBaseSimpleRespVO>> blockPage(PageParam page) {
+        return success(blockService.page(page));
+    }
+
     @PreAuthenticated
     @PostMapping("/enterprise/subscribe")
     @Operation(summary = "用户关注订阅企业")
@@ -91,7 +119,7 @@ public class AppPersonController {
     @GetMapping("/get/job/favorite/page")
     @Operation(summary = "获取收藏的招聘职位分页")
     public CommonResult<PageResult<AppJobAdvertisedRespVO>> getJobFavoritePage
-            (@Valid  PageParam reqVO) {
+            (@Valid PageParam reqVO) {
         return success(jobIntegrationService.getJobFavoritePage(reqVO));
     }
 

+ 13 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/enterprise/AppRecruitEnterpriseController.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 import com.citu.framework.baiduaip.core.AipOcrClient;
 import com.citu.framework.baiduaip.core.ocr.BusinessLicenseOcr;
 import com.citu.framework.common.pojo.CommonResult;
+import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.dict.core.DictFrameworkUtils;
 import com.citu.framework.security.core.annotations.PreAuthenticated;
 import com.citu.module.menduner.common.util.LoginUserContext;
@@ -141,6 +142,17 @@ public class AppRecruitEnterpriseController {
         return CommonResult.success(enterpriseBusinessService.get());
     }
 
+    @PreAuthenticated
+    @GetMapping("/business/search/by/name")
+    @Operation(summary = "根据企业名称模糊搜索企业营业执照信息")
+    public CommonResult<List<AppRecruitEnterpriseBusinessSimpleRespVO>> searchByName(String name) {
+        return CommonResult.success(
+                BeanUtils.toBean(enterpriseBusinessService.searchByName(name),
+                        AppRecruitEnterpriseBusinessSimpleRespVO.class)
+        );
+    }
+
+
     @PreAuthenticated
     @PostMapping("/business/ocr")
     @Operation(summary = "企业营业执照图片识别文字")
@@ -158,7 +170,7 @@ public class AppRecruitEnterpriseController {
     public CommonResult<List<CommonRespVO>> getPubJobTypePerm() {
         List<String> pubJobTypePermList = enterpriseService.getPubJobTypePerm();
         List<CommonRespVO> respVOList = new ArrayList<>();
-        if(CollUtil.isEmpty(pubJobTypePermList)) {
+        if (CollUtil.isEmpty(pubJobTypePermList)) {
             return CommonResult.success(respVOList);
         }
         for (String type : pubJobTypePermList) {

+ 10 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/enterprise/vo/AppRecruitEnterpriseBusinessSimpleRespVO.java

@@ -0,0 +1,10 @@
+package com.citu.module.menduner.system.controller.app.recruit.enterprise.vo;
+
+import com.citu.module.menduner.system.controller.base.enterprise.business.EnterpriseBusinessSimpleRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "menduner - 企业工商简易信息 Response VO")
+@Data
+public class AppRecruitEnterpriseBusinessSimpleRespVO extends EnterpriseBusinessSimpleRespVO {
+}

+ 43 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/business/EnterpriseBusinessSimpleRespVO.java

@@ -0,0 +1,43 @@
+package com.citu.module.menduner.system.controller.base.enterprise.business;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "企业工商简易信息 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class EnterpriseBusinessSimpleRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8156")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "企业id", example = "15967")
+    @ExcelProperty("企业id")
+    private Long enterpriseId;
+
+    @Schema(description = "统一社会信用代码")
+    @ExcelProperty("统一社会信用代码")
+    private String code;
+
+    @Schema(description = "企业名称", example = "李四")
+    @ExcelProperty("企业名称")
+    private String name;
+
+    @Schema(description = "所属地区")
+    @ExcelProperty("所属地区")
+    private String area;
+
+    @Schema(description = "注册地址")
+    @ExcelProperty("注册地址")
+    private String address;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 30 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/block/PersonEnterpriseBlockPageReqVO.java

@@ -0,0 +1,30 @@
+package com.citu.module.menduner.system.controller.base.person.block;
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 人才屏蔽企业关系分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class PersonEnterpriseBlockPageReqVO extends PageParam {
+
+    @Schema(description = "用户id", example = "32341")
+    private Long userId;
+
+    @Schema(description = "企业id", example = "13567")
+    private Long enterpriseId;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 31 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/block/PersonEnterpriseBlockRespVO.java

@@ -0,0 +1,31 @@
+package com.citu.module.menduner.system.controller.base.person.block;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 人才屏蔽企业关系 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class PersonEnterpriseBlockRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1726")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "32341")
+    @ExcelProperty("用户id")
+    private Long userId;
+
+    @Schema(description = "企业id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13567")
+    @ExcelProperty("企业id")
+    private Long enterpriseId;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 16 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/block/PersonEnterpriseBlockSaveReqVO.java

@@ -0,0 +1,16 @@
+package com.citu.module.menduner.system.controller.base.person.block;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Schema(description = "管理后台 - 人才屏蔽企业关系新增/修改 Request VO")
+@Data
+public class PersonEnterpriseBlockSaveReqVO {
+
+    @Schema(description = "企业id", requiredMode = Schema.RequiredMode.REQUIRED, example = "13567")
+    @NotNull(message = "{1_099_000_007}")
+    private Long enterpriseId;
+
+}

+ 38 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonEnterpriseBlockDO.java

@@ -0,0 +1,38 @@
+package com.citu.module.menduner.system.dal.dataobject.person;
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.citu.framework.tenant.core.db.TenantBaseDO;
+import lombok.*;
+
+/**
+ * 人才屏蔽企业关系 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_person_enterprise_block")
+@KeySequence("mde_person_enterprise_block_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PersonEnterpriseBlockDO extends TenantBaseDO {
+
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 用户id
+     */
+    private Long userId;
+    /**
+     * 企业id
+     */
+    private Long enterpriseId;
+}

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

@@ -7,6 +7,8 @@ import com.citu.module.menduner.system.controller.base.enterprise.business.Enter
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseBusinessDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 企业工商信息 Mapper
  *
@@ -47,5 +49,10 @@ public interface EnterpriseBusinessMapper extends BaseMapperX<EnterpriseBusiness
                 .eqIfPresent(EnterpriseBusinessDO::getName, name));
     }
 
-
+    default List<EnterpriseBusinessDO> searchByName(String name) {
+        return selectList(new LambdaQueryWrapperX<EnterpriseBusinessDO>()
+                .likeIfPresent(EnterpriseBusinessDO::getName, name)
+                .isNotNull(EnterpriseBusinessDO::getCode)
+        );
+    }
 }

+ 45 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonEnterpriseBlockMapper.java

@@ -0,0 +1,45 @@
+package com.citu.module.menduner.system.dal.mysql.person;
+
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
+import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseBaseSimpleRespVO;
+import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseBlockDO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseSubscribeDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 人才屏蔽企业关系 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface PersonEnterpriseBlockMapper extends BaseMapperX<PersonEnterpriseBlockDO> {
+
+    default PersonEnterpriseBlockDO selectByUserIdAndEnterpriseId(Long userId, Long enterpriseId) {
+        return selectOne(PersonEnterpriseBlockDO::getUserId, userId,
+                PersonEnterpriseBlockDO::getEnterpriseId, enterpriseId);
+    }
+
+    default Boolean deleteByUserIdAndEnterpriseId(Long userId, Long enterpriseId) {
+        return delete(new LambdaQueryWrapperX<PersonEnterpriseBlockDO>()
+                .eqIfPresent(PersonEnterpriseBlockDO::getUserId, userId)
+                .eqIfPresent(PersonEnterpriseBlockDO::getEnterpriseId, enterpriseId)) > 0;
+    }
+
+
+    default PageResult<EnterpriseBaseSimpleRespVO> page(Long userId, PageParam param) {
+
+        MPJLambdaWrapperX<PersonEnterpriseBlockDO> query = new MPJLambdaWrapperX<>();
+        query.selectAsClass(EnterpriseDO.class, EnterpriseBaseSimpleRespVO.class);
+        query.innerJoin(EnterpriseDO.class,
+                EnterpriseDO::getId, PersonEnterpriseBlockDO::getEnterpriseId);
+        query.eq(PersonEnterpriseSubscribeDO::getUserId, userId);
+
+        query.orderByDesc(PersonEnterpriseSubscribeDO::getUpdateTime);
+        return selectJoinPage(param, EnterpriseBaseSimpleRespVO.class, query);
+    }
+}

+ 25 - 55
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonInfoMapper.java

@@ -10,14 +10,10 @@ import com.citu.module.menduner.system.controller.base.person.PersonMapQueryReqV
 import com.citu.module.menduner.system.controller.base.person.PersonQueryReqVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoRespVO;
-import com.citu.module.menduner.system.dal.dataobject.eduexp.EduExpDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseTalentPoolDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobInterestedDO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
-import com.citu.module.menduner.system.dal.dataobject.projectexp.ProjectExpDO;
-import com.citu.module.menduner.system.dal.dataobject.trainexp.TrainExpDO;
-import com.citu.module.menduner.system.dal.dataobject.workexp.WorkExpDO;
-import com.citu.module.menduner.system.util.MdeUserInnerUtils;
+import com.citu.module.menduner.system.util.MdeInnerUtils;
 import org.apache.ibatis.annotations.Mapper;
 
 import java.time.LocalDate;
@@ -65,7 +61,7 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
         );
 
         // 连接用户表设置vip条件
-        MdeUserInnerUtils.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
+        MdeInnerUtils.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
 
         query
                 .likeIfPresent(PersonInfoDO::getName, reqVO.getName())
@@ -101,13 +97,15 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
     /**
      * 根据用户id和查询条件查询人才信息
      **/
-    default PageResult<PersonInfoRespVO> queryPage(PersonMapQueryReqVO reqVO, Long[] ids) {
+    default PageResult<PersonInfoRespVO> queryPage(PersonMapQueryReqVO reqVO, Long[] ids,Long enterpriseId) {
         MPJLambdaWrapperX<PersonInfoDO> query = new MPJLambdaWrapperX<>();
         query.selectAsClass(PersonInfoDO.class, PersonInfoRespVO.class);
         query.likeIfPresent(PersonInfoDO::getName, reqVO.getName());
         query.eqIfPresent(PersonInfoDO::getSex, reqVO.getSex());
         // 连接用户表设置vip条件
-        MdeUserInnerUtils.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
+        MdeInnerUtils.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
+        // 过滤屏蔽用户
+        MdeInnerUtils.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId,enterpriseId);
         if (null != reqVO.getAge()) {
             LocalDate now = LocalDate.now(ZoneId.systemDefault());
             if (reqVO.getAge().length >= 1) {
@@ -127,7 +125,7 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
         query.eqIfPresent(PersonInfoDO::getJobStatus, reqVO.getJobStatus());
         query.eqIfPresent(PersonInfoDO::getEduType, reqVO.getEduType());
         query.eqIfPresent(PersonInfoDO::getExpType, reqVO.getExpType());
-        query.inIfPresent(PersonInfoDO::getId, ids);
+        query.inIfPresent(PersonInfoDO::getUserId, ids);
 
         if (null != reqVO.getPay()) {
             query.leftJoin(JobInterestedDO.class, JobInterestedDO::getUserId, PersonInfoDO::getUserId);
@@ -144,14 +142,18 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
 
     /**
      * 根据查询条件查询人才信息
+     * @param enterpriseId 企业id
+     * @param reqVO 查询条件
      **/
-    default PageResult<PersonInfoRespVO> queryPage(PersonQueryReqVO reqVO) {
+    default PageResult<PersonInfoRespVO> queryPage(PersonQueryReqVO reqVO, Long enterpriseId) {
         MPJLambdaWrapperX<PersonInfoDO> query = new MPJLambdaWrapperX<>();
         query.distinct();
         query.selectAsClass(PersonInfoDO.class, PersonInfoRespVO.class);
 
         // 连接用户表设置vip条件
-        MdeUserInnerUtils.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
+        MdeInnerUtils.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
+        // 过滤屏蔽用户
+        MdeInnerUtils.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId,enterpriseId);
         // 求职意向
         query.leftJoin(JobInterestedDO.class, JobInterestedDO::getUserId, PersonInfoDO::getUserId);
 
@@ -185,59 +187,27 @@ public interface PersonInfoMapper extends BaseMapperX<PersonInfoDO> {
                 .or()
                 .likeIfExists(PersonInfoDO::getForeignName, reqVO.getContent());
 
-
-//
-//
-//        // 教育经历
-//        query.leftJoin(EduExpDO.class, EduExpDO::getUserId, PersonInfoDO::getUserId);
-//        query.likeIfExists(EduExpDO::getSchoolName, reqVO.getContent())
-//                .or()
-//                .likeRightIfExists(EduExpDO::getMajor, reqVO.getContent())
-//                .or()
-//                .eqIfExists(EduExpDO::getEducationType, reqVO.getEduType())
-//                .or();
-//
-//        // 工作经验
-//        query.leftJoin(WorkExpDO.class, WorkExpDO::getUserId, PersonInfoDO::getUserId);
-//        query.likeIfExists(WorkExpDO::getEnterpriseName, reqVO.getContent())
-//                .or()
-//                .likeRightIfExists(WorkExpDO::getPositionName, reqVO.getContent())
-//                .or()
-//                .likeRightIfExists(WorkExpDO::getDeptName, reqVO.getContent())
-//                .or()
-//                .likeIfExists(WorkExpDO::getContent, reqVO.getContent())
-//                .or()
-//                .likeIfExists(WorkExpDO::getAchievement, reqVO.getContent())
-//                .or();
-
-//        // 项目经验
-//        query.leftJoin(ProjectExpDO.class, ProjectExpDO::getUserId, PersonInfoDO::getUserId);
-//        query.likeIfExists(ProjectExpDO::getName, reqVO.getContent())
-//                .or()
-//                .likeIfExists(ProjectExpDO::getContent, reqVO.getContent())
-//                .or();
-//
-//        // 培训经历
-//        query.leftJoin(TrainExpDO.class, TrainExpDO::getUserId, PersonInfoDO::getUserId);
-//        query.likeIfExists(TrainExpDO::getOrgName, reqVO.getContent())
-//                .or()
-//                .likeIfExists(TrainExpDO::getCourse, reqVO.getContent())
-//                .or()
-//                .likeIfExists(TrainExpDO::getContent, reqVO.getContent())
-//                .or();
-
         query.orderByDesc(PersonInfoDO::getUpdateTime);
 
         return selectJoinPage(reqVO, PersonInfoRespVO.class, query);
     }
 
-    /** 根据id查询人才信息 **/
-    default PageResult<PersonInfoRespVO> queryPageById(List<Long> ids, PageParam pageParam) {
+    /**
+     * 根据id查询人才信息
+     * @param ids 人才id集合
+     * @param enterpriseId 操作的企业
+     * @param pageParam 分页
+     * **/
+    default PageResult<PersonInfoRespVO> queryPageById(List<Long> ids,
+                                                       Long enterpriseId,
+                                                       PageParam pageParam) {
         MPJLambdaWrapperX<PersonInfoDO> query = new MPJLambdaWrapperX<>();
         query.selectAsClass(PersonInfoDO.class, PersonInfoRespVO.class);
         query.inIfPresent(PersonInfoDO::getUserId, ids);
         // 连接用户表设置vip条件
-        MdeUserInnerUtils.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
+        MdeInnerUtils.joinAndFilterVipUser(query, PersonInfoDO::getUserId);
+        // 过滤屏蔽用户
+        MdeInnerUtils.filterBlockedUsersForEnterprise(query, PersonInfoDO::getUserId,enterpriseId);
         query.orderByDesc(PersonInfoDO::getUpdateTime);
         return selectJoinPage(pageParam, PersonInfoRespVO.class, query);
     }

+ 20 - 11
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseService.java

@@ -2,12 +2,11 @@ package com.citu.module.menduner.system.service.enterprise;
 
 import com.citu.framework.common.pojo.PageParam;
 import com.citu.framework.common.pojo.PageResult;
-import com.citu.module.menduner.system.controller.app.recruit.enterprise.vo.*;
-import com.citu.module.menduner.system.controller.base.enterprise.vo.*;
-import com.citu.module.menduner.system.controller.base.CommonRespVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.AppEnterpriseClickReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.AppEnterpriseDetailRespVO;
-import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.AppEnterpriseSearchPageReqVO;
+import com.citu.module.menduner.system.controller.app.recruit.enterprise.vo.*;
+import com.citu.module.menduner.system.controller.base.CommonRespVO;
+import com.citu.module.menduner.system.controller.base.enterprise.vo.*;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 
 import javax.validation.Valid;
@@ -119,16 +118,16 @@ public interface EnterpriseService {
     /**
      * 更新企业父企业
      *
-     * @param name 企业名称
-     * @param anotherName 企业别称
+     * @param name           企业名称
+     * @param anotherName    企业别称
      * @param pubJobTypePerm 发布职位类型权限
-     * @param contactName 联系人名称
-     * @param phone 联系电话
-     * @param prepare 是否筹备
+     * @param contactName    联系人名称
+     * @param phone          联系电话
+     * @param prepare        是否筹备
      */
-    Long createSimpleEnterprise(String name,String anotherName,
+    Long createSimpleEnterprise(String name, String anotherName,
                                 List<String> pubJobTypePerm,
-                                String contactName, String phone,Boolean prepare);
+                                String contactName, String phone, Boolean prepare);
 
     /**
      * 更新企业发布职位类型权限
@@ -137,6 +136,7 @@ public interface EnterpriseService {
      **/
     void updatePubJobTypePerm(EnterprisePubJobTypePermUpdateReqVO reqVO);
     // ========== 求职端 ==========
+
     /**
      * 点击执行埋点
      **/
@@ -168,6 +168,7 @@ public interface EnterpriseService {
 
     /**
      * 模糊搜索企业
+     *
      * @param name 企业名称
      * @return List<AppCommonRespVO>
      **/
@@ -178,34 +179,40 @@ public interface EnterpriseService {
      **/
     void syncGraph();
 
+
     // ========== 招聘端 ==========
 
     /**
      * 修改logo
+     *
      * @param logoUrl
      **/
     void uploadLogo(String logoUrl);
 
     /**
      * 修改企业相册
+     *
      * @param reqVO
      **/
     void updateAlbum(AppRecruitEnterpriseAlbumReqVO reqVO);
 
     /**
      * 修改企业福利标签
+     *
      * @param reqVO
      **/
     void updateWelfare(AppRecruitEnterpriseWelfareReqVO reqVO);
 
     /**
      * 修改企业标签
+     *
      * @param reqVO
      **/
     void updateTag(AppRecruitEnterpriseTagReqVO reqVO);
 
     /**
      * 修改企业基本信息
+     *
      * @param reqVO
      **/
     void update(AppRecruitEnterpriseSaveReqVO reqVO);
@@ -222,8 +229,10 @@ public interface EnterpriseService {
 
     /**
      * 获取企业树
+     *
      * @param id 企业编号
      * @return AppRecruitEnterpriseTreeRespVO
      **/
     AppRecruitEnterpriseTreeRespVO getTree(Long id);
+
 }

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

@@ -9,6 +9,7 @@ import com.citu.module.menduner.system.controller.base.enterprise.business.Enter
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseBusinessDO;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * 企业工商信息 Service 接口
@@ -98,6 +99,14 @@ public interface EnterpriseBusinessService {
      */
     Long createBussiness(Long enterpriseId, BusinessLicenseOcr businessLicense);
 
+
+    /**
+     * 根据名称模糊搜索企业列表
+     *
+     * @param name 企业名称
+     **/
+    List<EnterpriseBusinessDO> searchByName(String name);
+
     // ========== 招聘端 ==========
 
     /**
@@ -111,4 +120,6 @@ public interface EnterpriseBusinessService {
      * 获取企业营业执照信息
      **/
     AppRecruitEnterpriseBusinessRespVO get();
+
+
 }

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

@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_ENTERPRISE_BUSINESS_NOT_EXISTS;
@@ -150,4 +151,9 @@ public class EnterpriseBusinessServiceImpl implements EnterpriseBusinessService
         return EnterpriseConvert.INSTANCE.convert15(
                 enterpriseBusinessMapper.selectByEnterpriseId(LoginUserContext.getEnterpriseId()));
     }
+
+    @Override
+    public List<EnterpriseBusinessDO> searchByName(String name) {
+        return enterpriseBusinessMapper.searchByName(name);
+    }
 }

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

@@ -35,7 +35,6 @@ import org.springframework.util.StringUtils;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
-
 import java.util.ArrayList;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -149,7 +148,7 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
         // 增加企业信息
         Long enterpriseId = enterpriseService.createSimpleEnterprise(
                 enterpriseRegister.getName(), enterpriseRegister.getAnotherName(),
-                null==reqVO.getPubJobTypePerm()? new ArrayList<>() : reqVO.getPubJobTypePerm(),
+                null == reqVO.getPubJobTypePerm() ? new ArrayList<>() : reqVO.getPubJobTypePerm(),
                 enterpriseRegister.getContactName(), enterpriseRegister.getPhone(),
                 enterpriseRegister.getPrepare()
         );
@@ -172,15 +171,14 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
             }
         }
 
-        // 1、先判断用户是否注册,没有就先注册用户
-        // 2、然后判断企业账户是否注册,没有就注册
+        // 1、然后判断企业账户是否注册,没有就注册
         for (int i = 0; i < enterpriseRegister.getContacts().size(); i++) {
             EnterpriseRegisterContactsReqVO contact = enterpriseRegister.getContacts().get(i);
             // 查询用户表
             MdeUserDO userDO = mdeUserService.getUserByPhone(contact.getPhone());
             if (null == userDO) {
-                // 没有就创建
-                userDO = mdeUserService.createUserIfAbsent(contact.getPhone(), getClientIP(), getTerminal().toString());
+                // 没有就创建,一般不可能为空,因为申请的时候已经创建好了
+                return;
             }
             // 查询企业用户表
             EnterpriseUserBindDO enterpriseUserBindDO = userBindService
@@ -206,15 +204,6 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
                     .password(contact.getPassword())
                     .build();
             userBindService.createUser(userBindDO);
-
-            // 表示  userDO.getId() 因为企业用户注册, 所以加积分
-            pointOperateProducer.send(EventAsyncConfirmMessage.builder()
-                    // 给谁加
-                    .userId(userDO.getId())
-                    // 加的是什么
-                    .url(EventAsyncUrlEnum.REGISTER_ENTERPRISE.getUrl())
-                    .build()
-            );
         }
 
 
@@ -267,6 +256,24 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
         register.setStatus(EnterpriseRegisterAuditStatusEnum.AUDITING.getStatus());
         register.setUserId(LoginUserContext.getUserId());
         mapper.insert(register);
+
+        for (int i = 0; i < reqVO.getContacts().size(); i++) {
+            EnterpriseRegisterContactsReqVO contact = reqVO.getContacts().get(i);
+            // 查询用户表
+            MdeUserDO userDO = mdeUserService.getUserByPhone(contact.getPhone());
+            if (null == userDO) {
+                // 没有就创建
+                mdeUserService.createUserIfAbsent(contact.getPhone(), getClientIP(), getTerminal().toString());
+                // 表示  userDO.getId() 因为企业用户注册, 所以加积分
+                pointOperateProducer.send(EventAsyncConfirmMessage.builder()
+                        // 给谁加,谁申请给谁加
+                        .userId(LoginUserContext.getUserId())
+                        // 加的是什么
+                        .url(EventAsyncUrlEnum.REGISTER_ENTERPRISE.getUrl())
+                        .build()
+                );
+            }
+        }
     }
 
     /**

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

@@ -125,7 +125,7 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
     public void syncGraph() {
         List<PersonDetailRespVO> list = new ArrayList<>();
         List<PersonInfoDO> personList = personInfoMapper.selectList();
-        if(CollUtil.isNotEmpty(personList)) {
+        if (CollUtil.isNotEmpty(personList)) {
             graphApi.receiveData(GraphQueryPageDTO.builder().type(SyncConstants.PERSON).build());
         }
         for (PersonInfoDO person : personList) {
@@ -236,7 +236,7 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
 //            return PageResult.empty();
 //        }
 
-        return personInfoMapper.queryPage(reqVO, ids);
+        return personInfoMapper.queryPage(reqVO, ids, LoginUserContext.getEnterpriseId());
     }
 
     @Override
@@ -253,7 +253,7 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
                 reqVO.setAreaIds(areaIdList);
             }
         }
-        return personInfoMapper.queryPage(reqVO);
+        return personInfoMapper.queryPage(reqVO, LoginUserContext.getEnterpriseId());
     }
 
     @Override
@@ -270,7 +270,9 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
                 e.printStackTrace();
             }
         }
-        return personInfoMapper.queryPageById(null== ids?null:Arrays.asList(ids), reqVO);
+        return personInfoMapper.queryPageById(null == ids ? null : Arrays.asList(ids),
+                LoginUserContext.getEnterpriseId(),
+                reqVO);
     }
 
     @Override

+ 23 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/block/PersonEnterpriseBlockService.java

@@ -0,0 +1,23 @@
+package com.citu.module.menduner.system.service.person.block;
+
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseBaseSimpleRespVO;
+import com.citu.module.menduner.system.controller.base.person.block.PersonEnterpriseBlockSaveReqVO;
+
+/**
+ * 人才屏蔽企业关系 Service 接口
+ *
+ * @author Rayson
+ */
+public interface PersonEnterpriseBlockService {
+
+    /** 屏蔽企业 */
+    void block(PersonEnterpriseBlockSaveReqVO reqVO);
+
+    /** 取消屏蔽企业 */
+    void unBlock(PersonEnterpriseBlockSaveReqVO reqVO);
+
+    /** 分页查询屏蔽企业列表 */
+    PageResult<EnterpriseBaseSimpleRespVO> page(PageParam page);
+}

+ 74 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/block/PersonEnterpriseBlockServiceImpl.java

@@ -0,0 +1,74 @@
+package com.citu.module.menduner.system.service.person.block;
+
+
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.citu.framework.common.pojo.PageParam;
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.common.util.LoginUserContext;
+import com.citu.module.menduner.system.controller.base.enterprise.vo.EnterpriseBaseSimpleRespVO;
+import com.citu.module.menduner.system.controller.base.person.block.PersonEnterpriseBlockSaveReqVO;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseBlockDO;
+import com.citu.module.menduner.system.dal.mysql.person.PersonEnterpriseBlockMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+
+import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.PERSON_ENTERPRISE_BLOCK_ALREADY_BLOCK;
+
+/**
+ * 人才屏蔽企业关系 Service 实现类
+ *
+ * @author Rayson
+ */
+@Service
+@Validated
+public class PersonEnterpriseBlockServiceImpl implements PersonEnterpriseBlockService {
+
+    @Resource
+    private PersonEnterpriseBlockMapper mapper;
+
+    void check(Long userId, Long enterpriseId) {
+        // 判断是否屏蔽
+        if (null != mapper.selectByUserIdAndEnterpriseId(userId, enterpriseId)) {
+            throw exception(PERSON_ENTERPRISE_BLOCK_ALREADY_BLOCK);
+        }
+    }
+
+    @Override
+    @DSTransactional
+    public void block(PersonEnterpriseBlockSaveReqVO reqVO) {
+        Long userId = LoginUserContext.getUserId();
+        if (null == userId) {
+            // 未登录
+            return;
+        }
+        check(userId, reqVO.getEnterpriseId());
+
+        mapper.insert(
+                PersonEnterpriseBlockDO.builder()
+                        .userId(userId)
+                        .enterpriseId(reqVO.getEnterpriseId())
+                        .build()
+        );
+    }
+
+    @Override
+    @DSTransactional
+    public void unBlock(PersonEnterpriseBlockSaveReqVO reqVO) {
+        Long userId = LoginUserContext.getUserId();
+        if (null == userId) {
+            // 未登录
+            return;
+        }
+        if (null != mapper.selectByUserIdAndEnterpriseId(userId, reqVO.getEnterpriseId())) {
+            mapper.deleteByUserIdAndEnterpriseId(userId, reqVO.getEnterpriseId());
+        }
+    }
+
+    @Override
+    public PageResult<EnterpriseBaseSimpleRespVO> page(PageParam page) {
+        return mapper.page(LoginUserContext.getUserId(), page);
+    }
+}

+ 92 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/MdeInnerUtils.java

@@ -0,0 +1,92 @@
+package com.citu.module.menduner.system.util;
+
+import cn.hutool.core.text.CharSequenceUtil;
+import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
+import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
+import com.citu.module.menduner.system.dal.dataobject.person.PersonEnterpriseBlockDO;
+import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
+import com.github.yulichang.toolkit.LambdaUtils;
+import com.github.yulichang.toolkit.TableHelper;
+import com.github.yulichang.wrapper.JoinAbstractLambdaWrapper;
+
+/**
+ * menduner 公共需求表连接
+ **/
+public class MdeInnerUtils {
+
+    /**
+     * 与 MdeUserDO 表进行内连接,并添加条件 vip_expire_date > NOW() 和 ORDER BY vip_flag DESC。
+     *
+     * @param column 要与 MdeUserDO 表的 userId 字段进行连接的字段
+     * @param <R>    连接字段所属的实体类型
+     * @return JoinAbstractLambdaWrapper 的函数
+     * 使用  MdeUserInnerUtils.joinWithMdeUser(wrapperX,PersonInfoDO::getUserId);
+     */
+    public static <R> void joinAndFilterVipUser(
+            MPJLambdaWrapperX<?> wrapperX,
+            SFunction<R, ?> column) {
+
+        // 添加连接条件
+        wrapperX.innerJoin(MdeUserDO.class, on -> on.eq(column, MdeUserDO::getId)
+                // .and(i -> i.gt(MdeUserDO::getVipExpireDate, LocalDateTime.now()))
+        );
+
+        wrapperX.orderByDesc(MdeUserDO::getVipFlag, MdeUserDO::getVipExpireDate);
+
+    }
+
+
+    /**
+     * 用于在查询时过滤掉已经屏蔽了某个企业的用户。
+     *
+     * @param <R>      泛型参数,表示主表中的实体类型。
+     * @param wrapperX 查询构建器,用于构建查询条件。
+     * @param column   主表中企业的 ID 列,用于与 PersonEnterpriseBlockDO 表中的 enterpriseId 进行连接。
+     */
+    public static <R> void filterBlockedUsersForEnterprise(
+            JoinAbstractLambdaWrapper<?, ?> wrapperX,
+            SFunction<R, ?> column) {
+
+        // 添加左连接条件
+        // 使用 leftJoin 将主表与 PersonEnterpriseBlockDO 表连接起来
+        // 连接条件是当前企业的 ID (column) 与 PersonEnterpriseBlockDO 表中的 enterpriseId 相等
+        wrapperX.leftJoin(PersonEnterpriseBlockDO.class, on ->
+                on.eq(column, PersonEnterpriseBlockDO::getEnterpriseId)
+        );
+
+        // 过滤掉已屏蔽该企业的用户
+        // 在连接后,使用 isNull 条件来过滤掉那些在 PersonEnterpriseBlockDO 表中有对应记录(即屏蔽了该企业的用户)的行
+        // 如果 PersonEnterpriseBlockDO 表中的 userId 不为空,则表示该用户已经屏蔽了该企业
+        wrapperX.isNull(PersonEnterpriseBlockDO::getUserId);
+    }
+
+    /**
+     * 用于在查询时过滤掉已经屏蔽了某个企业的用户。
+     *
+     * @param <R>          泛型参数,表示主表中的实体类型。
+     * @param wrapperX     查询构建器,用于构建查询条件。
+     * @param column       什么字段过滤用户id ,xxx not in (用户id1,……)
+     * @param enterpriseId 企业id
+     * @
+     */
+    public static <R> void filterBlockedUsersForEnterprise(
+            JoinAbstractLambdaWrapper<?, ?> wrapperX,
+            SFunction<R, ?> column,
+            Long enterpriseId) {
+        if (null == enterpriseId) {
+            return;
+        }
+
+        // 过滤掉已屏蔽该企业的用户
+        String tableName = TableHelper.getAssert(PersonEnterpriseBlockDO.class).getTableName();
+        String columnName = CharSequenceUtil.toUnderlineCase(LambdaUtils.getName(column));
+        String sql = String.format("select %s from %s where deleted=0 and enterprise_id=%s",
+                columnName,
+                tableName,
+                enterpriseId
+        );
+        wrapperX.notInSql(column, sql);
+
+    }
+
+}

+ 0 - 39
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/MdeUserInnerUtils.java

@@ -1,39 +0,0 @@
-package com.citu.module.menduner.system.util;
-
-import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
-import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
-import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
-import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
-import com.github.yulichang.wrapper.JoinAbstractLambdaWrapper;
-import com.github.yulichang.wrapper.interfaces.MFunction;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * user 表连接
- **/
-public class MdeUserInnerUtils {
-
-    /**
-     * 与 MdeUserDO 表进行内连接,并添加条件 vip_expire_date > NOW() 和 ORDER BY vip_flag DESC。
-     *
-     * @param column 要与 MdeUserDO 表的 userId 字段进行连接的字段
-     * @param <R>       连接字段所属的实体类型
-     * @return JoinAbstractLambdaWrapper 的函数
-     * 使用   query.xxJoin(PersonInfoDO.class, MdeUserInnerUtils.joinWithMdeUser(PersonInfoDO::getUserId));
-     */
-    public static  <R> void joinAndFilterVipUser(
-            MPJLambdaWrapperX<?> wrapperX,
-            SFunction<R, ?> column) {
-
-        // 添加连接条件
-        wrapperX.innerJoin(MdeUserDO.class,on -> on.eq(column, MdeUserDO::getId)
-        // .and(i -> i.gt(MdeUserDO::getVipExpireDate, LocalDateTime.now()))
-        );
-
-        wrapperX.orderByDesc(MdeUserDO::getVipFlag, MdeUserDO::getVipExpireDate);
-
-    }
-
-}

+ 4 - 1
menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties

@@ -356,4 +356,7 @@
 1_100_049_004=Redemption points cannot be empty
 1_100_049_005=Contact name cannot be empty
 1_100_049_006=Contact phone number cannot be empty
-1_100_049_007=Product type cannot be empty
+1_100_049_007=Product type cannot be empty
+# ========== 人才屏蔽企业关系 1_100_050_000 ==========
+1_100_050_001=Talent blocking enterprise relationship does not exist
+1_100_050_002=Enterprise blocked, please do not click again

+ 4 - 1
menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

@@ -359,4 +359,7 @@
 1_100_049_004=兑换积分不能为空
 1_100_049_005=联系人姓名不能为空
 1_100_049_006=联系电话不能为空
-1_100_049_007=商品类型不能为空
+1_100_049_007=商品类型不能为空
+# ========== 人才屏蔽企业关系 1_100_050_000 ==========
+1_100_050_001=人才屏蔽企业关系不存在
+1_100_050_002=企业已屏蔽,请勿重复点击