Jelajahi Sumber

1、优化企业注册申请逻辑
2、优化职位发布编辑速度慢问题

rayson 9 bulan lalu
induk
melakukan
a3b0de4307
15 mengubah file dengan 208 tambahan dan 50 penghapusan
  1. 4 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  2. 5 0
      menduner/menduner-system-biz/pom.xml
  3. 5 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/enterprise/AppEnterpriseRegisterController.java
  4. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/register/EnterpriseRegisterRespVO.java
  5. 11 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseRegisterMapper.java
  6. 37 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/GraphConsumer.java
  7. 1 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/producer/ESProducer.java
  8. 37 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/producer/GraphProducer.java
  9. 6 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeEnterpriseAuthServiceImpl.java
  10. 16 16
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImpl.java
  11. 19 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterService.java
  12. 33 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterServiceImpl.java
  13. 13 11
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java
  14. 7 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationServiceImpl.java
  15. 10 10
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java

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

@@ -234,11 +234,15 @@ public interface ErrorCodeConstants {
             = new ErrorCode(1_100_021_012, "统一社会信用代码已被注册");
 
 
+
     ErrorCode MDE_ENTERPRISE_REGISTER_CONTACT_NAME_NOT_NULL = new ErrorCode(1_100_021_013, "联系人名称不能为空");
 
     ErrorCode MDE_ENTERPRISE_REGISTER_PASSWORD_NOT_NULL = new ErrorCode(1_100_021_014, "密码不能为空");
     ErrorCode MDE_ENTERPRISE_REGISTER_PASSWORD_LENGTH = new ErrorCode(1_100_021_015, "密码长度为 8-16 位");
 
+    ErrorCode MDE_ENTERPRISE_REGISTER_STATUS_APPLYING = new ErrorCode(1_100_021_016, "企业注册申请中");
+
+
 
     // ========== 企业地址 1_100_022_001 ==========
     ErrorCode MDE_ENTERPRISE_ADDRESS_NOT_EXISTS = new ErrorCode(1_100_022_001, "企业地址不存在");

+ 5 - 0
menduner/menduner-system-biz/pom.xml

@@ -50,6 +50,11 @@
             <version>${revision}</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.citu</groupId>
+            <artifactId>citu-spring-boot-starter-job</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>com.xingyuv</groupId>
             <artifactId>spring-boot-starter-captcha-plus</artifactId> <!-- 验证码,一般用于登录使用 -->

+ 5 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/enterprise/AppEnterpriseRegisterController.java

@@ -41,5 +41,10 @@ public class AppEnterpriseRegisterController {
     }
 
 
+    @GetMapping("/by/email")
+    @Operation(summary = "根据邮箱获取企业注册申请")
+    public CommonResult<AppEnterpriseRegisterRespVO> getApplyByEmail(String email) {
+        return success(enterpriseRegisterService.getApplyByEmail(email));
+    }
 
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/register/EnterpriseRegisterRespVO.java

@@ -48,6 +48,10 @@ public class EnterpriseRegisterRespVO {
     @ExcelProperty("联系邮箱")
     private String email;
 
+    @Schema(description = "密码")
+    @ExcelProperty("密码")
+    private String password;
+
     @Schema(description = "统一社会信用代码")
     @ExcelProperty("统一社会信用代码")
     private String code;

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

@@ -44,10 +44,10 @@ public interface EnterpriseRegisterMapper extends BaseMapperX<EnterpriseRegister
     }
 
     /**
-     * 根据邀请码查询
+     * 根据统一社会信用代码查询
      *
      * @param id  编码
-     * @param code 邀请
+     * @param code 统一社会信用代
      * @return 是否存在
      */
     default Boolean existsByCode(Long id,String code) {
@@ -57,4 +57,13 @@ public interface EnterpriseRegisterMapper extends BaseMapperX<EnterpriseRegister
                 .eq(EnterpriseRegisterDO::getStatus, EnterpriseRegisterAuditStatusEnum.APPROVED.getStatus())
         ) > 0;
     }
+
+
+    /** 根据邮箱查询 审核中的 企业注册信息 **/
+    default EnterpriseRegisterDO selectEmailAndStatus(String email, String status) {
+        return selectOne(new LambdaQueryWrapperX<EnterpriseRegisterDO>()
+                .eq(EnterpriseRegisterDO::getEmail, email)
+                .eqIfPresent(EnterpriseRegisterDO::getStatus, status)
+        );
+    }
 }

+ 37 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/GraphConsumer.java

@@ -0,0 +1,37 @@
+package com.citu.module.menduner.system.mq.consumer;
+
+import com.citu.framework.tenant.core.aop.TenantIgnore;
+import com.citu.module.menduner.system.api.python.GraphApi;
+import com.citu.module.menduner.system.api.python.GraphSendDTO;
+import com.citu.module.menduner.system.controller.base.job.JobAdvertisedRespVO;
+import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
+import com.citu.module.menduner.system.enums.sync.SyncConstants;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
+import org.apache.rocketmq.spring.core.RocketMQListener;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * 图数据库 同步 消费
+ **/
+@Slf4j
+@Component
+@RocketMQMessageListener(
+        topic = GraphSendDTO.SYNC_GRAPH_TOPIC,
+        consumerGroup = GraphSendDTO.SYNC_GRAPH_TOPIC + "_CONSUMER"
+)
+public class GraphConsumer implements RocketMQListener<GraphSendDTO> {
+
+    @Resource
+    private GraphApi graphApi;
+
+    @Override
+    @TenantIgnore
+    public void onMessage(GraphSendDTO message) {
+        log.info("GraphConsumer-接收到队列消息[{}]", message);
+        graphApi.send(message).getCheckedData();
+        log.info("GraphConsumer-消息处理完备[{}]", message);
+    }
+}

+ 1 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/producer/ESProducer.java

@@ -54,8 +54,7 @@ public class ESProducer {
         rocketMQTemplate.syncSend(
                 ESJobAdvertisedMergeSendMessage.TOPIC,
                 message,
-                10000,
-                ESJobAdvertisedMergeSendMessage.LEVEL
+                10000
         );
     }
 

+ 37 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/producer/GraphProducer.java

@@ -0,0 +1,37 @@
+package com.citu.module.menduner.system.mq.producer;
+
+import com.citu.module.menduner.system.api.python.GraphSendDTO;
+import com.citu.module.menduner.system.mq.message.ESJobAdvertisedMergeSendMessage;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.rocketmq.spring.core.RocketMQTemplate;
+import org.springframework.messaging.Message;
+import org.springframework.messaging.support.MessageBuilder;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+import static com.citu.module.menduner.system.api.python.GraphSendDTO.SYNC_GRAPH_TOPIC;
+
+/**
+ * 图数据库 数据同步 Producer
+ *
+ * @author Rayson
+ */
+@Slf4j
+@Component
+public class GraphProducer {
+
+    @Resource
+    private RocketMQTemplate rocketMQTemplate;
+
+
+    public <T> void send(GraphSendDTO<T> dto)  {
+        Message<?> message = MessageBuilder.withPayload(dto).build();
+        rocketMQTemplate.syncSend(
+                SYNC_GRAPH_TOPIC,
+                message,
+                10000,
+                ESJobAdvertisedMergeSendMessage.LEVEL
+        );
+    }
+}

+ 6 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeEnterpriseAuthServiceImpl.java

@@ -15,6 +15,7 @@ import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserB
 import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
 import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
+import com.citu.module.menduner.system.service.enterprise.register.EnterpriseRegisterService;
 import com.citu.module.menduner.system.service.user.MdeUserService;
 import com.citu.module.system.api.logger.LoginLogApi;
 import com.citu.module.system.api.logger.dto.LoginLogCreateReqDTO;
@@ -53,6 +54,8 @@ public class MdeEnterpriseAuthServiceImpl implements MdeEnterpriseAuthService {
     protected OAuth2TokenApi oauth2TokenApi;
     @Resource
     private EnterpriseUserBindService userBindService;
+    @Resource
+    private EnterpriseRegisterService registerService;
 
 
     @Override
@@ -99,6 +102,9 @@ public class MdeEnterpriseAuthServiceImpl implements MdeEnterpriseAuthService {
         // 校验账号是否存在
         EnterpriseUserBindDO user = userBindService.getByEmail(email);
         if (null == user) {
+            // 如果用户为空,则效验是否存在企业注册申请
+            registerService.validateApplyByEmail(email);
+            // 邮箱存在注册申请则直接抛出异常不走下面
             createLoginLog(null, email, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS);
             throw exception(MDE_USER_EMAIL_NOT_REGISTERED);
         }

+ 16 - 16
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImpl.java

@@ -8,7 +8,6 @@ import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.datapermission.core.annotation.DataPermission;
 import com.citu.framework.dict.core.DictFrameworkUtils;
 import com.citu.module.menduner.common.util.LoginUserContext;
-import com.citu.module.menduner.system.api.python.GraphApi;
 import com.citu.module.menduner.system.api.python.GraphSendDTO;
 import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.AppEnterpriseClickReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.AppEnterpriseDetailRespVO;
@@ -28,6 +27,7 @@ import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import com.citu.module.menduner.system.enums.sync.SyncConstants;
 import com.citu.module.menduner.system.enums.visits.MdeVisitsEnum;
 import com.citu.module.menduner.system.mq.producer.ESProducer;
+import com.citu.module.menduner.system.mq.producer.GraphProducer;
 import com.citu.module.menduner.system.mq.producer.MdeVisitsProducer;
 import com.citu.module.menduner.system.service.area.AreaService;
 import lombok.extern.slf4j.Slf4j;
@@ -74,7 +74,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
     private ESProducer esProducer;
 
     @Resource
-    private GraphApi graphApi;
+    private GraphProducer graphProducer;
 
 
     @Override
@@ -101,7 +101,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
         // 更新
         EnterpriseDO updateObj = BeanUtils.toBean(updateReqVO, EnterpriseDO.class);
         enterpriseMapper.updateById(updateObj);
-        noticeES(updateObj.getId(),  SyncConstants.UPDATE);
+        noticeES(updateObj.getId(), SyncConstants.UPDATE);
     }
 
     @Override
@@ -114,7 +114,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
         validateEnterpriseExists(id);
         // 删除
         enterpriseMapper.deleteById(id);
-        noticeES(id,  SyncConstants.DELETE);
+        noticeES(id, SyncConstants.DELETE);
     }
 
     private void validateEnterpriseExists(Long id) {
@@ -291,22 +291,22 @@ public class EnterpriseServiceImpl implements EnterpriseService {
         condition.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<EnterpriseDetailRespVO> list = enterpriseMapper.page(condition).getList();
         for (EnterpriseDetailRespVO resp : list) {
-            if(null!=resp.getScale()) {
+            if (null != resp.getScale()) {
                 resp.setScale(DictFrameworkUtils.getDictDataLabel(MENDUNER_SCALE, resp.getScale()));
             }
-            if(null!=resp.getFinancingStatus()) {
+            if (null != resp.getFinancingStatus()) {
                 resp.setFinancingStatus(DictFrameworkUtils.getDictDataLabel(MENDUNER_FINANCING_STATUS, resp.getFinancingStatus()));
             }
             resp.setStatus(DictFrameworkUtils.getDictDataLabel(MENDUNER_STATUS, resp.getStatus()));
         }
-        graphApi.send(
+        graphProducer.send(
                 new GraphSendDTO<EnterpriseDetailRespVO>
                         (
                                 SyncConstants.SYNC_ALL,
                                 SyncConstants.ENTERPRISE,
                                 list
                         )
-        ).getCheckedData();
+        );
 
     }
 
@@ -316,7 +316,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
         EnterpriseDO enterprise = selectEnterprise();
         enterprise.setLogoUrl(logoUrl);
         enterpriseMapper.updateById(enterprise);
-        noticeES(enterprise.getId(),  SyncConstants.UPDATE);
+        noticeES(enterprise.getId(), SyncConstants.UPDATE);
     }
 
     @Override
@@ -325,7 +325,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
         EnterpriseDO enterprise = selectEnterprise();
         enterprise.setAlbumList(reqVO.getAlbumList());
         enterpriseMapper.updateById(enterprise);
-        noticeES(enterprise.getId(),  SyncConstants.UPDATE);
+        noticeES(enterprise.getId(), SyncConstants.UPDATE);
     }
 
     @Override
@@ -334,7 +334,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
         EnterpriseDO enterprise = selectEnterprise();
         enterprise.setWelfareList(reqVO.getWelfareList());
         enterpriseMapper.updateById(enterprise);
-        noticeES(enterprise.getId(),  SyncConstants.UPDATE);
+        noticeES(enterprise.getId(), SyncConstants.UPDATE);
     }
 
     @Override
@@ -362,20 +362,20 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 
         if (SyncConstants.DELETE.equals(operate)) {
             // 删除
-            graphApi.send(
+            graphProducer.send(
                     new GraphSendDTO<Long>
-                            (SyncConstants.DELETE,SyncConstants.ENTERPRISE,  id)
-            ).getCheckedData();
+                            (SyncConstants.DELETE, SyncConstants.ENTERPRISE, id)
+            );
         } else {
             // 修改 || 新增
-            graphApi.send(
+            graphProducer.send(
                     new GraphSendDTO<EnterpriseDetailRespVO>
                             (
                                     operate,
                                     SyncConstants.ENTERPRISE,
                                     enterpriseMapper.get(id)
                             )
-            ).getCheckedData();
+            );
         }
 
     }

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

@@ -2,11 +2,11 @@ package com.citu.module.menduner.system.service.enterprise.register;
 
 
 import com.citu.framework.common.pojo.PageResult;
+import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.register.AppEnterpriseRegisterReqVO;
+import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.register.AppEnterpriseRegisterRespVO;
 import com.citu.module.menduner.system.controller.base.enterprise.register.EnterpriseRegisterAuditReqVO;
 import com.citu.module.menduner.system.controller.base.enterprise.register.EnterpriseRegisterPageReqVO;
 import com.citu.module.menduner.system.controller.base.enterprise.register.EnterpriseRegisterSaveReqVO;
-import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.register.AppEnterpriseRegisterReqVO;
-import com.citu.module.menduner.system.controller.app.jobhunt.enterprise.vo.register.AppEnterpriseRegisterRespVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseRegisterDO;
 
 import javax.validation.Valid;
@@ -56,8 +56,18 @@ public interface EnterpriseRegisterService {
      */
     PageResult<EnterpriseRegisterDO> getEnterpriseRegisterPage(EnterpriseRegisterPageReqVO pageReqVO);
 
+    /**
+     * 效验邮箱是否存在注册的申请
+     *
+     * @param email 邮箱
+     * @return
+     */
+    boolean validateApplyByEmail(String email);
+
+
     /**
      * 通过
+     *
      * @param reqVO
      * @return boolean
      **/
@@ -65,6 +75,7 @@ public interface EnterpriseRegisterService {
 
     /**
      * 拒绝
+     *
      * @param reqVO
      * @return boolean
      **/
@@ -72,6 +83,7 @@ public interface EnterpriseRegisterService {
 
     /**
      * 企业注册申请
+     *
      * @param reqVO
      **/
     void apply(AppEnterpriseRegisterReqVO reqVO);
@@ -80,4 +92,9 @@ public interface EnterpriseRegisterService {
      * 获取用户提交的申请
      **/
     AppEnterpriseRegisterRespVO getApplyByUserId();
+
+    /**
+     * 根据邮箱获取用户提交的申请
+     **/
+    AppEnterpriseRegisterRespVO getApplyByEmail(String email);
 }

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

@@ -99,6 +99,26 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
         return mapper.selectPage(pageReqVO);
     }
 
+
+    @Override
+    public boolean validateApplyByEmail(String email) {
+        EnterpriseRegisterDO enterpriseRegister = mapper.selectEmailAndStatus(email, null);
+        if (null == enterpriseRegister) {
+            // 不存在
+            return false;
+        }
+
+        // 审核中和审核失败都是未注册
+        if (EnterpriseRegisterAuditStatusEnum.AUDITING.getStatus().equals(enterpriseRegister.getStatus())
+                || EnterpriseRegisterAuditStatusEnum.REJECT.getStatus().equals(enterpriseRegister.getStatus())) {
+            // 存在就抛出
+            throw exception(MDE_ENTERPRISE_REGISTER_STATUS_APPLYING);
+        }
+
+
+        return true;
+    }
+
     @Override
     @DSTransactional
     public void approved(EnterpriseRegisterAuditReqVO reqVO) {
@@ -133,13 +153,13 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
             // 不为空时添加工商信息
             BusinessLicenseOcr businessLicenseOcr = aipOcrClient
                     .businessLicense(enterpriseRegister.getBusinessLicenseUrl());
-            if(null == businessLicenseOcr) {
+            if (null == businessLicenseOcr) {
                 // 默认信息
                 businessService
                         .createSimpleBusiness(enterpriseId, enterpriseRegister.getCode(), enterpriseRegister.getName());
-            }else {
+            } else {
                 // 基于ocr识别创建
-                businessService.createBussiness(enterpriseId,businessLicenseOcr);
+                businessService.createBussiness(enterpriseId, businessLicenseOcr);
             }
 
         }
@@ -232,7 +252,11 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
             // 存在审批中的申请
             throw exception(MDE_ENTERPRISE_REGISTER_APPLY_DUPLICATE);
         }
-
+        if (null != mapper.selectEmailAndStatus(reqVO.getEmail(),
+                EnterpriseRegisterAuditStatusEnum.AUDITING.getStatus())) {
+            // 存在审批中的申请
+            throw exception(MDE_ENTERPRISE_REGISTER_APPLY_DUPLICATE);
+        }
         // 兼容筹备中提交统一社会信用代码的情况
         if (StringUtils.hasText(reqVO.getCode())) {
             if (mapper.existsByCode(null, reqVO.getCode())) {
@@ -246,4 +270,9 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
     public AppEnterpriseRegisterRespVO getApplyByUserId() {
         return EnterpriseConvert.INSTANCE.convert8(mapper.selectByUserId(LoginUserContext.getUserId()));
     }
+
+    @Override
+    public AppEnterpriseRegisterRespVO getApplyByEmail(String email) {
+        return EnterpriseConvert.INSTANCE.convert8(mapper.selectEmailAndStatus(email, null));
+    }
 }

+ 13 - 11
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobAdvertisedServiceImpl.java

@@ -9,7 +9,6 @@ import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.framework.dict.core.DictFrameworkUtils;
 import com.citu.framework.security.core.LoginUser;
 import com.citu.module.menduner.common.util.LoginUserContext;
-import com.citu.module.menduner.system.api.python.GraphApi;
 import com.citu.module.menduner.system.api.python.GraphSendDTO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppEnterpriseJobHomeRespVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.job.vo.AppJobAdvertisedDetailRespVO;
@@ -34,9 +33,11 @@ import com.citu.module.menduner.system.dal.mysql.job.JobInterestedMapper;
 import com.citu.module.menduner.system.enums.job.JobStatusEnum;
 import com.citu.module.menduner.system.enums.sync.SyncConstants;
 import com.citu.module.menduner.system.mq.producer.ESProducer;
+import com.citu.module.menduner.system.mq.producer.GraphProducer;
 import com.citu.module.menduner.system.service.enterprise.EnterpriseService;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
@@ -81,7 +82,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
     private ESProducer esProducer;
 
     @Resource
-    private GraphApi graphApi;
+    private GraphProducer producer;
 
 
     @Override
@@ -330,14 +331,14 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
             resp.setStatus(DictFrameworkUtils.getDictDataLabel(MENDUNER_JOB_STATUS, resp.getStatus()));
         }
 
-        graphApi.send(
+        producer.send(
                 new GraphSendDTO<JobAdvertisedRespVO>
                         (
                                 SyncConstants.SYNC_ALL,
                                 SyncConstants.JOB,
                                 respList
                         )
-        ).getCheckedData();
+        );
 
     }
 
@@ -492,7 +493,7 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
             mapper.updateById(job);
         }
 
-        // ========== ES数据同步处理 ==========
+        // ========== 数据同步处理 ==========
         jobDataSync(job, operate);
 
     }
@@ -503,31 +504,32 @@ public class JobAdvertisedServiceImpl implements JobAdvertisedService {
      * @param job     职位对象
      * @param operate 操作类型
      **/
+    @Async
     public void jobDataSync(JobAdvertisedDO job, String operate) {
         if (SyncConstants.ADD.equals(operate)) {
             // es
-            esProducer.send(SyncConstants.JOB,SyncConstants.ADD, job.getId());
+            esProducer.send(SyncConstants.JOB, SyncConstants.ADD, job.getId());
             // 图数据库
-            graphApi.send(
+            producer.send(
                     new GraphSendDTO<JobAdvertisedRespVO>
                             (
                                     SyncConstants.ADD,
                                     SyncConstants.JOB,
                                     JobAdvertisedConvert.INSTANCE.convert(job)
                             )
-            ).getCheckedData();
+            );
         } else {
             // es
-            esProducer.send(SyncConstants.JOB,SyncConstants.UPDATE, job.getId());
+            esProducer.send(SyncConstants.JOB, SyncConstants.UPDATE, job.getId());
             // 图数据库
-            graphApi.send(
+            producer.send(
                     new GraphSendDTO<JobAdvertisedRespVO>
                             (
                                     SyncConstants.UPDATE,
                                     SyncConstants.JOB,
                                     JobAdvertisedConvert.INSTANCE.convert(job)
                             )
-            ).getCheckedData();
+            );
         }
     }
 

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

@@ -29,6 +29,7 @@ import com.citu.module.menduner.system.dal.mysql.projectexp.ProjectExpMapper;
 import com.citu.module.menduner.system.dal.mysql.trainexp.TrainExpMapper;
 import com.citu.module.menduner.system.dal.mysql.workexp.WorkExpMapper;
 import com.citu.module.menduner.system.enums.sync.SyncConstants;
+import com.citu.module.menduner.system.mq.producer.GraphProducer;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 import org.springframework.validation.annotation.Validated;
@@ -67,6 +68,9 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
     @Resource
     private GraphApi graphApi;
 
+    @Resource
+    private GraphProducer graphProducer;
+
     @Resource
     private EnterpriseTalentPoolMapper talentPoolMapper;
 
@@ -182,14 +186,14 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
 
             list.add(resp);
 
-            graphApi.send(
+            graphProducer.send(
                     new GraphSendDTO<PersonDetailRespVO>
                             (
                                     SyncConstants.ADD,
                                     SyncConstants.PERSON,
                                     resp
                             )
-            ).getCheckedData();
+            );
 
         }
 
@@ -216,7 +220,7 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
             }
             ids = graphApi.query(condition).getCheckedData();
         }
-        if(null == ids|| ids.length == 0) {
+        if (null == ids || ids.length == 0) {
             return PageResult.empty();
         }
 

+ 10 - 10
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java

@@ -4,7 +4,6 @@ import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.common.util.LoginUserContext;
-import com.citu.module.menduner.system.api.python.GraphApi;
 import com.citu.module.menduner.system.api.python.GraphSendDTO;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.resume.AppPersonAdvantageSaveReqVO;
 import com.citu.module.menduner.system.controller.app.jobhunt.person.resume.AppPersonInfoSaveReqVO;
@@ -15,6 +14,7 @@ import com.citu.module.menduner.system.controller.base.person.info.PersonInfoSav
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.dal.mysql.person.PersonInfoMapper;
 import com.citu.module.menduner.system.enums.sync.SyncConstants;
+import com.citu.module.menduner.system.mq.producer.GraphProducer;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
@@ -38,7 +38,7 @@ public class PersonInfoServiceImpl implements PersonInfoService {
 
 
     @Resource
-    private GraphApi graphApi;
+    private GraphProducer graphProducer;
 
     @Override
     @DSTransactional // 单机+多数据源方案,使用 @DSTransactional 保证本地事务,以及数据源的切换
@@ -99,25 +99,25 @@ public class PersonInfoServiceImpl implements PersonInfoService {
         userInfo.setUserId(userId);
         if (null == info) {
             personInfoMapper.insert(userInfo);
-            graphApi.send(
+            graphProducer.send(
                     new GraphSendDTO<PersonInfoDO>
                             (
                                     SyncConstants.ADD,
                                     SyncConstants.PERSON,
                                     userInfo
                             )
-            ).getCheckedData();
+            );
         } else {
             userInfo.setId(info.getId());
             personInfoMapper.updateById(userInfo);
-            graphApi.send(
+            graphProducer.send(
                     new GraphSendDTO<PersonInfoDO>
                             (
                                     SyncConstants.UPDATE,
                                     SyncConstants.PERSON,
                                     userInfo
                             )
-            ).getCheckedData();
+            );
         }
         return true;
     }
@@ -128,14 +128,14 @@ public class PersonInfoServiceImpl implements PersonInfoService {
         PersonInfoDO info = personInfoMapper.selectOne(PersonInfoDO::getUserId, userId);
         info.setTagList(reqVO.getTagList());
         personInfoMapper.updateById(info);
-        graphApi.send(
+        graphProducer.send(
                 new GraphSendDTO<PersonInfoDO>
                         (
                                 SyncConstants.UPDATE,
                                 SyncConstants.PERSON,
                                 info
                         )
-        ).getCheckedData();
+        );
     }
 
     @Override
@@ -177,14 +177,14 @@ public class PersonInfoServiceImpl implements PersonInfoService {
         }
         info.setAdvantage(reqVO.getContent());
         personInfoMapper.updateById(info);
-        graphApi.send(
+        graphProducer.send(
                 new GraphSendDTO<PersonInfoDO>
                         (
                                 SyncConstants.UPDATE,
                                 SyncConstants.PERSON,
                                 info
                         )
-        ).getCheckedData();
+        );
 
         return true;
     }