【DAOP-1.0】企业认证
【功能点】kafka方式改造
Showing
3 changed files
with
56 additions
and
1 deletions
1 | package com.csbr.qingcloud.portal.controller; | 1 | package com.csbr.qingcloud.portal.controller; |
2 | 2 | ||
3 | import com.csbr.cloud.common.response.CommonRes; | 3 | import com.csbr.cloud.common.response.CommonRes; |
4 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | ||
4 | import com.csbr.qingcloud.portal.domain.vo.*; | 5 | import com.csbr.qingcloud.portal.domain.vo.*; |
5 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; | 6 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; |
6 | import csbr.cloud.entity.annotation.SystemLog; | 7 | import csbr.cloud.entity.annotation.SystemLog; |
... | @@ -93,6 +94,14 @@ public class EnterpriseController { | ... | @@ -93,6 +94,14 @@ public class EnterpriseController { |
93 | return CommonRes.success(true); | 94 | return CommonRes.success(true); |
94 | } | 95 | } |
95 | 96 | ||
97 | @PostMapping("/last-approve") | ||
98 | @SystemLog(value = "企业认证审批") | ||
99 | @Operation(summary = "企业认证审批-最后一个节点时调用") | ||
100 | public CommonRes<Boolean> lastApprove(@RequestBody FlowUpdateStateDTO dto) { | ||
101 | Boolean vo = enterpriseService.lastApprove(dto); | ||
102 | return CommonRes.success(vo); | ||
103 | } | ||
104 | |||
96 | @PostMapping("/move-old-data") | 105 | @PostMapping("/move-old-data") |
97 | @SystemLog(value = "将此账号提交的数据需求迁移到新的企业") | 106 | @SystemLog(value = "将此账号提交的数据需求迁移到新的企业") |
98 | @Operation(summary = "将此账号提交的数据需求迁移到新的企业", hidden = true) | 107 | @Operation(summary = "将此账号提交的数据需求迁移到新的企业", hidden = true) | ... | ... |
1 | package com.csbr.qingcloud.portal.service; | 1 | package com.csbr.qingcloud.portal.service; |
2 | 2 | ||
3 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | ||
3 | import com.csbr.qingcloud.portal.domain.vo.*; | 4 | import com.csbr.qingcloud.portal.domain.vo.*; |
4 | import csbr.cloud.entity.domain.base.vo.PageListVO; | 5 | import csbr.cloud.entity.domain.base.vo.PageListVO; |
5 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | 6 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; |
... | @@ -77,4 +78,6 @@ public interface EnterpriseService { | ... | @@ -77,4 +78,6 @@ public interface EnterpriseService { |
77 | 78 | ||
78 | /** 将此账号提交的数据需求迁移到新的企业 */ | 79 | /** 将此账号提交的数据需求迁移到新的企业 */ |
79 | void moveOldData(TenantRQVO vo); | 80 | void moveOldData(TenantRQVO vo); |
81 | |||
82 | Boolean lastApprove(FlowUpdateStateDTO dto); | ||
80 | } | 83 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.service.impl; | 1 | package com.csbr.qingcloud.portal.service.impl; |
2 | 2 | ||
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | import com.alibaba.fastjson.JSONObject; | ||
4 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 5 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
5 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | 6 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
6 | import com.csbr.cloud.common.enums.SystemError; | 7 | import com.csbr.cloud.common.enums.SystemError; |
7 | import com.csbr.cloud.common.enums.UserError; | 8 | import com.csbr.cloud.common.enums.UserError; |
8 | import com.csbr.cloud.common.enums.WorkFlowBizEnum; | 9 | import com.csbr.cloud.common.enums.WorkFlowBizEnum; |
9 | import com.csbr.cloud.common.exception.CsbrUserException; | 10 | import com.csbr.cloud.common.exception.CsbrUserException; |
11 | import com.csbr.cloud.mq.service.KafkaStdService; | ||
12 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | ||
13 | import com.csbr.cloud.workflow.feign.WorkflowFeign; | ||
10 | import com.csbr.qingcloud.portal.domain.vo.*; | 14 | import com.csbr.qingcloud.portal.domain.vo.*; |
11 | import com.csbr.qingcloud.portal.feign.PersonelFeign; | 15 | import com.csbr.qingcloud.portal.feign.PersonelFeign; |
12 | import com.csbr.qingcloud.portal.feign.UserFeign; | 16 | import com.csbr.qingcloud.portal.feign.UserFeign; |
... | @@ -16,6 +20,7 @@ import com.csbr.qingcloud.portal.mybatis.service.MfDemandService; | ... | @@ -16,6 +20,7 @@ import com.csbr.qingcloud.portal.mybatis.service.MfDemandService; |
16 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; | 20 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; |
17 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; | 21 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; |
18 | import com.csbr.qingcloud.portal.util.ObjectUtil; | 22 | import com.csbr.qingcloud.portal.util.ObjectUtil; |
23 | import csbr.cloud.entity.domain.base.dao.BaseShardingDO; | ||
19 | import csbr.cloud.entity.enums.ApprovalStateEnum; | 24 | import csbr.cloud.entity.enums.ApprovalStateEnum; |
20 | import com.csbr.cloud.common.exception.CsbrSystemException; | 25 | import com.csbr.cloud.common.exception.CsbrSystemException; |
21 | import com.csbr.cloud.common.util.CommonUtil; | 26 | import com.csbr.cloud.common.util.CommonUtil; |
... | @@ -30,11 +35,16 @@ import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | ... | @@ -30,11 +35,16 @@ import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; |
30 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; | 35 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; |
31 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; | 36 | import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; |
32 | import com.csbr.qingcloud.portal.service.EnterpriseService; | 37 | import com.csbr.qingcloud.portal.service.EnterpriseService; |
38 | import csbr.cloud.entity.utils.UserContextHolder; | ||
33 | import io.seata.common.util.DateUtil; | 39 | import io.seata.common.util.DateUtil; |
34 | import jakarta.annotation.Resource; | 40 | import jakarta.annotation.Resource; |
35 | import lombok.extern.slf4j.Slf4j; | 41 | import lombok.extern.slf4j.Slf4j; |
36 | import org.apache.commons.collections.CollectionUtils; | 42 | import org.apache.commons.collections.CollectionUtils; |
37 | import org.apache.commons.lang3.StringUtils; | 43 | import org.apache.commons.lang3.StringUtils; |
44 | import org.apache.kafka.clients.consumer.ConsumerRecord; | ||
45 | import org.springframework.beans.factory.annotation.Autowired; | ||
46 | import org.springframework.kafka.annotation.KafkaListener; | ||
47 | import org.springframework.kafka.support.Acknowledgment; | ||
38 | import org.springframework.stereotype.Service; | 48 | import org.springframework.stereotype.Service; |
39 | import io.seata.spring.annotation.GlobalTransactional; | 49 | import io.seata.spring.annotation.GlobalTransactional; |
40 | import org.springframework.transaction.annotation.Transactional; | 50 | import org.springframework.transaction.annotation.Transactional; |
... | @@ -82,6 +92,12 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -82,6 +92,12 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
82 | @Resource | 92 | @Resource |
83 | private UserFeign userFeign; | 93 | private UserFeign userFeign; |
84 | 94 | ||
95 | @Resource | ||
96 | private WorkflowFeign workflowFeign; | ||
97 | |||
98 | @Autowired(required = false) | ||
99 | private KafkaStdService kafkaStdService; | ||
100 | |||
85 | /** | 101 | /** |
86 | * 企业信息分页查询 | 102 | * 企业信息分页查询 |
87 | * @author xcq | 103 | * @author xcq |
... | @@ -386,6 +402,33 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -386,6 +402,33 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
386 | // 删除流程数据 | 402 | // 删除流程数据 |
387 | approvalFlowUtil.removeApproveByBizGuids(guids); | 403 | approvalFlowUtil.removeApproveByBizGuids(guids); |
388 | } | 404 | } |
405 | |||
406 | /** ***企业认证*** */ | ||
407 | @GlobalTransactional | ||
408 | @Override | ||
409 | public Boolean lastApprove(FlowUpdateStateDTO dto) { | ||
410 | //如果是非认证会员认证审批通过了 则需要走kafka生成新会员 | ||
411 | dto.setBackEndInvoke(true); | ||
412 | String topic = "tenant.enterprise"; | ||
413 | kafkaStdService.stdSendMsgWithPrefix(topic, JSON.toJSONString(dto)); | ||
414 | return true; | ||
415 | } | ||
416 | |||
417 | @KafkaListener(containerFactory = "kafkaListenerContainerFactory", groupId = "scm.notify", topics = "${csbr.kafka.topic-prefix:}_"+"approve.tenant.enterprise", | ||
418 | errorHandler = "consumerAwareErrorHandler") | ||
419 | public void addUserListener(List<ConsumerRecord<String, String>> records, Acknowledgment ack) { | ||
420 | ack.acknowledge(); | ||
421 | for (ConsumerRecord<String, String> record : records) { | ||
422 | try { | ||
423 | FlowUpdateStateDTO dto = JSON.parseObject(record.value(),FlowUpdateStateDTO.class); | ||
424 | workflowFeign.allowFlowCore(dto).getData(); | ||
425 | } catch (Exception e) { | ||
426 | log.error("企业认证出现异常: " + e.getMessage() + ";\nRecord Info: " + record.toString()); | ||
427 | e.printStackTrace(); | ||
428 | return; | ||
429 | } | ||
430 | } | ||
431 | } | ||
389 | 432 | ||
390 | /** | 433 | /** |
391 | * 流程结束后进行业务回调 | 434 | * 流程结束后进行业务回调 |
... | @@ -422,7 +465,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -422,7 +465,7 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
422 | 465 | ||
423 | /** 将此账号提交的数据需求迁移到新的企业 */ | 466 | /** 将此账号提交的数据需求迁移到新的企业 */ |
424 | @Override | 467 | @Override |
425 | @Transactional | 468 | @Transactional(rollbackFor = Exception.class) |
426 | public void moveOldData(TenantRQVO vo){ | 469 | public void moveOldData(TenantRQVO vo){ |
427 | LambdaQueryWrapper<MfDemand> queryWrapper = new LambdaQueryWrapper<>(); | 470 | LambdaQueryWrapper<MfDemand> queryWrapper = new LambdaQueryWrapper<>(); |
428 | queryWrapper.eq(MfDemand::getRequirementUnit, vo.getTenantName()); | 471 | queryWrapper.eq(MfDemand::getRequirementUnit, vo.getTenantName()); | ... | ... |
-
Please register or sign in to post a comment