【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 |
| ... | @@ -387,6 +403,33 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -387,6 +403,33 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
| 387 | approvalFlowUtil.removeApproveByBizGuids(guids); | 403 | approvalFlowUtil.removeApproveByBizGuids(guids); |
| 388 | } | 404 | } |
| 389 | 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 | } | ||
| 432 | |||
| 390 | /** | 433 | /** |
| 391 | * 流程结束后进行业务回调 | 434 | * 流程结束后进行业务回调 |
| 392 | * @author xcq | 435 | * @author xcq |
| ... | @@ -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