Bläddra i källkod

增加消息队列消息处理配置类

lixing 4 år sedan
förälder
incheckning
8fe145e811

+ 21 - 0
fm-person/src/main/java/com/persagy/fm/common/RabbitmqConfig.java

@@ -0,0 +1,21 @@
+package com.persagy.fm.common;
+
+import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
+import org.springframework.amqp.support.converter.MessageConverter;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * rabbitMQ配置类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/29 4:56 下午
+ **/
+@Configuration
+public class RabbitmqConfig {
+    // JMS 使用
+    @Bean
+    public MessageConverter customMessageConvert() {
+        return new Jackson2JsonMessageConverter();
+    }
+}

+ 27 - 0
fm-person/src/main/java/com/persagy/fm/common/utils/CreateDbUtil.java

@@ -0,0 +1,27 @@
+package com.persagy.fm.common.utils;
+
+import org.springframework.beans.factory.annotation.Value;
+
+/**
+ * 创建数据库工具类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/29 5:39 下午
+ **/
+public class CreateDbUtil {
+    @Value("${spring.application.name}")
+    private String applicationName;
+
+    /**
+     * 创建数据库
+     *
+     * @param groupCode
+     * @return void
+     * @exception
+     * @author lixing
+     * @version V1.0 2021/3/29 5:42 下午
+     */
+    public static void createDb(String groupCode) {
+
+    }
+}

+ 16 - 0
fm-person/src/main/java/com/persagy/fm/department/model/vo/ProjectVO.java

@@ -0,0 +1,16 @@
+package com.persagy.fm.department.model.vo;
+
+import com.persagy.fm.common.model.vo.SimpleObjVO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 项目VO类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/27 5:18 下午
+ **/
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class ProjectVO extends SimpleObjVO {
+}

+ 34 - 0
fm-person/src/main/java/com/persagy/fm/department/service/IDepTranslator.java

@@ -0,0 +1,34 @@
+package com.persagy.fm.department.service;
+
+import com.persagy.fm.department.model.vo.ManagerVO;
+import com.persagy.fm.department.model.vo.ProjectVO;
+
+import java.util.List;
+
+/**
+ * 部门相关翻译类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/29 11:26 上午
+ **/
+public interface IDepTranslator {
+    /**
+     * 获取部门负责人vo对象列表
+     *
+     * @param managers 部门负责人 id1,id2
+     * @return 部门负责人vo对象列表
+     * @author lixing
+     * @version V1.0 2021/3/29 11:27 上午
+     */
+    List<ManagerVO> getManagerVOList(String managers);
+
+    /**
+     * 获取项目vo列表
+     *
+     * @param projectIds 项目id列表
+     * @return 项目vo列表
+     * @author lixing
+     * @version V1.0 2021/3/29 11:28 上午
+     */
+    List<ProjectVO> getProjectVOList(List<String> projectIds);
+}

+ 63 - 0
fm-person/src/main/java/com/persagy/fm/department/service/impl/DepTranslatorImpl.java

@@ -0,0 +1,63 @@
+package com.persagy.fm.department.service.impl;
+
+import com.persagy.fm.common.response.FmResponseContent;
+import com.persagy.fm.department.model.vo.ManagerVO;
+import com.persagy.fm.department.model.vo.ProjectVO;
+import com.persagy.fm.department.service.IDepTranslator;
+import com.persagy.fm.person.model.Person;
+import com.persagy.fm.person.service.IPersonService;
+import com.persagy.fm.saas.project.client.SaasProjectClient;
+import com.persagy.fm.saas.project.model.SaasProject;
+import com.persagy.fm.saas.project.model.dto.QuerySaasProjectDTO;
+import org.assertj.core.util.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 类说明
+ *
+ * @author lixing
+ * @version V1.0 2021/3/29 11:29 上午
+ **/
+@Service
+public class DepTranslatorImpl implements IDepTranslator {
+    @Autowired
+    IPersonService personService;
+    @Autowired
+    SaasProjectClient saasProjectClient;
+
+    @Override
+    public List<ManagerVO> getManagerVOList(String managers) {
+        String separator = ",";
+        String[] managersArr = managers.split(separator);
+        List<Long> managerIdList = Lists.newArrayList();
+        for (String managerIdStr : managersArr) {
+            managerIdList.add(Long.valueOf(managerIdStr));
+        }
+        List<Person> people = personService.queryByIds(managerIdList);
+        return people.stream().map(person -> {
+            ManagerVO managerVO = new ManagerVO();
+            managerVO.setId(person.getId().toString());
+            managerVO.setName(person.getName());
+            return managerVO;
+        }).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<ProjectVO> getProjectVOList(List<String> projectIds) {
+        QuerySaasProjectDTO querySaasProjectDTO = new QuerySaasProjectDTO();
+        querySaasProjectDTO.setDefaultValue();
+        querySaasProjectDTO.setProjectIds(projectIds);
+        FmResponseContent<List<SaasProject>> listFmResponseContent = saasProjectClient.queryProjectList(querySaasProjectDTO);
+        List<SaasProject> saasProjects = listFmResponseContent.getContent();
+        return saasProjects.stream().map(saasProject -> {
+            ProjectVO projectVO = new ProjectVO();
+            projectVO.setId(saasProject.getProjectId());
+            projectVO.setName(saasProject.getProjectName());
+            return projectVO;
+        }).collect(Collectors.toList());
+    }
+}

+ 18 - 0
fm-person/src/main/java/com/persagy/fm/saas/project/model/SaasProject.java

@@ -0,0 +1,18 @@
+package com.persagy.fm.saas.project.model;
+
+import lombok.Data;
+
+/**
+ * 运维系统项目
+ *
+ * @author lixing
+ * @version V1.0 2021/3/29 2:24 下午
+ **/
+@Data
+public class SaasProject {
+    private String areaId;
+    private String areaName;
+    private String projectId;
+    private String projectName;
+    private String projectLocalId;
+}

+ 23 - 0
fm-person/src/main/java/com/persagy/fm/saas/project/model/dto/QuerySaasProjectDTO.java

@@ -0,0 +1,23 @@
+package com.persagy.fm.saas.project.model.dto;
+
+import com.persagy.fm.saas.common.model.dto.SaasBaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+/**
+ * 查询运维平台项目入参
+ *
+ * @author lixing
+ * @version V1.0 2021/3/29 3:01 下午
+ **/
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class QuerySaasProjectDTO extends SaasBaseDTO {
+    private String projectId;
+    private String areaId;
+    private String projectName;
+    private String projectLocalId;
+    private List<String> projectIds;
+}