소스 검색

test trans annotation

lixing 4 년 전
부모
커밋
a7678bc60c
18개의 변경된 파일515개의 추가작업 그리고 0개의 파일을 삭제
  1. 18 0
      fm-person/src/main/java/com/persagy/fm/department/model/dto/QueryDepProjectTreeDTO.java
  2. 24 0
      fm-person/src/main/java/com/persagy/fm/department/model/vo/ManagerVO.java
  3. 64 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/client/SaasAccountProjectClient.java
  4. 16 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/client/fallback/SaasAccountProjectFallbackFactory.java
  5. 19 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/ConvertSaasAccountProjectTool.java
  6. 42 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/SaasAccountProject.java
  7. 29 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/dto/AddSaasAccountProjectDTO.java
  8. 20 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/dto/DeleteSaasAccountProjectDTO.java
  9. 21 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/dto/QuerySaasAccountProjectDTO.java
  10. 48 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/service/ISaasAccountProjectService.java
  11. 47 0
      fm-person/src/main/java/com/persagy/fm/saas/accountproject/service/impl/SaasAccountProjectServiceImpl.java
  12. 32 0
      fm-person/src/main/java/com/persagy/fm/saas/common/model/dto/SaasBaseDTO.java
  13. 25 0
      fm-person/src/main/java/com/persagy/fm/saas/common/model/dto/SaasBasePageDTO.java
  14. 26 0
      fm-person/src/main/java/com/persagy/fm/saas/project/model/SaasArea.java
  15. 20 0
      fm-person/src/main/java/com/persagy/fm/saas/project/model/dto/QuerySaasAreaProjectTreeDTO.java
  16. 28 0
      fm-person/src/main/java/com/persagy/fm/saas/project/model/vo/SaasAreaProjectTreeItemVO.java
  17. 17 0
      fm-person/src/main/java/com/persagy/fm/saas/project/model/vo/SaasAreaProjectTreeVO.java
  18. 19 0
      fm-person/src/main/java/com/persagy/fm/saas/project/model/vo/SaasProjectTreeItemVO.java

+ 18 - 0
fm-person/src/main/java/com/persagy/fm/department/model/dto/QueryDepProjectTreeDTO.java

@@ -0,0 +1,18 @@
+package com.persagy.fm.department.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author lixing
+ * @version V1.0 2021-03-11 15:09:19
+ */
+@Data
+@ApiModel(value = "查询部门项目树入参")
+public class QueryDepProjectTreeDTO {
+    @ApiModelProperty(value = "父部门id。不传加载整个集团的项目树")
+    private Long parentDepId;
+}

+ 24 - 0
fm-person/src/main/java/com/persagy/fm/department/model/vo/ManagerVO.java

@@ -0,0 +1,24 @@
+package com.persagy.fm.department.model.vo;
+
+import com.persagy.fm.translate.model.Trans;
+import com.persagy.fm.translate.model.TransType;
+import lombok.Data;
+
+/**
+ * 部门负责人
+ *
+ * @author lixing
+ * @version V1.0 2021/3/27 5:18 下午
+ **/
+@Data
+public class ManagerVO {
+    private Long id;
+    private String name;
+
+    @Trans(source = "personNameTranslator",
+            type = TransType.SERVICE, batch = true,
+            parameter = "id", target = "name")
+    public String getName() {
+        return name;
+    }
+}

+ 64 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/client/SaasAccountProjectClient.java

@@ -0,0 +1,64 @@
+package com.persagy.fm.saas.accountproject.client;
+
+import com.persagy.fm.common.client.FeignConfig;
+import com.persagy.fm.common.response.FmResponseContent;
+import com.persagy.fm.common.response.FmResponseMsg;
+import com.persagy.fm.saas.account.model.dto.AddSaasAccountDTO;
+import com.persagy.fm.saas.account.model.dto.PageQuerySaasAccountDTO;
+import com.persagy.fm.saas.account.model.dto.UpdateSaasAccountDTO;
+import com.persagy.fm.saas.account.model.vo.SaasAccountListItemVO;
+import com.persagy.fm.saas.accountproject.client.fallback.SaasAccountProjectFallbackFactory;
+import com.persagy.fm.saas.accountproject.model.SaasAccountProject;
+import com.persagy.fm.saas.accountproject.model.dto.AddSaasAccountProjectDTO;
+import com.persagy.fm.saas.accountproject.model.dto.DeleteSaasAccountProjectDTO;
+import com.persagy.fm.saas.accountproject.model.dto.QuerySaasAccountProjectDTO;
+import com.persagy.fm.saas.project.constant.FeignClientNameConstants;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * 运维平台账号项目接口feign客户端
+ *
+ * @author lixing
+ * @version V1.0 2021/3/22 2:13 下午
+ **/
+@FeignClient(name = FeignClientNameConstants.SAAS, fallbackFactory = SaasAccountProjectFallbackFactory.class,
+        configuration = FeignConfig.class)
+public interface SaasAccountProjectClient {
+    /**
+     * 查询账号项目列表
+     *
+     * @param querySaasAccountProjectDTO 查询条件
+     * @return 账号项目列表
+     * @author lixing
+     * @version V1.0 2021/3/23 11:57 上午
+     */
+    @PostMapping("/accountProject/querySaasAccountProjectList")
+    FmResponseContent<List<SaasAccountProject>> querySaasAccountProjectList(
+            @RequestBody QuerySaasAccountProjectDTO querySaasAccountProjectDTO);
+
+    /**
+     * 创建账号项目
+     *
+     * @param addSaasAccountProjectDTO 创建账号项目入参
+     * @return 账号项目id
+     * @author lixing
+     * @version V1.0 2021/3/23 11:57 上午
+     */
+    @PostMapping("/accountProject/createSaasAccountProject")
+    FmResponseContent<String> createSaasAccountProject(@RequestBody AddSaasAccountProjectDTO addSaasAccountProjectDTO);
+
+    /**
+     * 删除账号项目
+     *
+     * @param deleteSaasAccountProjectDTO 删除账号项目入参
+     * @author lixing
+     * @return FmResponseMsg
+     * @version V1.0 2021/3/23 11:57 上午
+     */
+    @PostMapping("/accountProject/createSaasAccount")
+    FmResponseMsg deleteSaasAccountProject(@RequestBody DeleteSaasAccountProjectDTO deleteSaasAccountProjectDTO);
+}

+ 16 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/client/fallback/SaasAccountProjectFallbackFactory.java

@@ -0,0 +1,16 @@
+package com.persagy.fm.saas.accountproject.client.fallback;
+
+import com.persagy.fm.saas.accountproject.client.SaasAccountProjectClient;
+import feign.hystrix.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author drx
+ */
+@Component
+public class SaasAccountProjectFallbackFactory implements FallbackFactory<SaasAccountProjectClient> {
+    @Override
+    public SaasAccountProjectClient create(Throwable throwable) {
+        return null;
+    }
+}

+ 19 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/ConvertSaasAccountProjectTool.java

@@ -0,0 +1,19 @@
+package com.persagy.fm.saas.accountproject.model;
+
+import org.mapstruct.Mapper;
+import org.mapstruct.NullValueCheckStrategy;
+import org.mapstruct.NullValueMappingStrategy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * 账号-集团项目关联信息(SaasAccountProject) dto、vo、do转换工具类
+ *
+ * @author lixing
+ * @version V1.0 2021-03-26 15:15:42 2021-03-26 15:15:42
+ */
+@Mapper(nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT,
+        nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
+public interface ConvertSaasAccountProjectTool {
+    ConvertSaasAccountProjectTool INSTANCE = Mappers.getMapper(ConvertSaasAccountProjectTool.class);
+}
+

+ 42 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/SaasAccountProject.java

@@ -0,0 +1,42 @@
+package com.persagy.fm.saas.accountproject.model;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import com.persagy.fm.common.model.entity.AuditableEntity;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 账号-集团项目关联信息(SaasAccountProject)实体类
+ *
+ * @author lixing
+ * @version V1.0 2021-03-26 15:15:41
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel(description = "账号-集团项目关联信息")
+public class SaasAccountProject extends AuditableEntity<SaasAccountProject> implements Serializable {
+    private static final long serialVersionUID = 357766245383663520L;
+
+    @ApiModelProperty("账号ID")
+    private String accountId;
+
+    @ApiModelProperty("集团编码")
+    private String groupCode;
+
+    @ApiModelProperty("项目ID")
+    private String projectId;
+
+    @ApiModelProperty("账号可见域,0-所有集团项目,1-单集团所有项目(此时,集团编码需存在),2-其他")
+    private String accountScope;
+
+
+    public static String PROP_ACCOUNT_ID = "ACCOUNT_ID";
+    public static String PROP_GROUP_CODE = "GROUP_CODE";
+    public static String PROP_PROJECT_ID = "PROJECT_ID";
+    public static String PROP_ACCOUNT_SCOPE = "ACCOUNT_SCOPE";
+
+}

+ 29 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/dto/AddSaasAccountProjectDTO.java

@@ -0,0 +1,29 @@
+package com.persagy.fm.saas.accountproject.model.dto;
+
+import com.persagy.fm.saas.common.model.dto.SaasBaseDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * @author lixing
+ * @version V1.0 2021-03-26 15:15:41
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel(value = "创建账号-集团项目关联信息入参")
+public class AddSaasAccountProjectDTO extends SaasBaseDTO {
+    @ApiModelProperty(value = "账号ID", required = true)
+    @NotNull(message = "账号ID不能为空") 
+    private String accountId;
+
+    @ApiModelProperty(value = "项目ID", required = true)
+    @NotNull(message = "项目ID不能为空") 
+    private String projectId;
+}

+ 20 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/dto/DeleteSaasAccountProjectDTO.java

@@ -0,0 +1,20 @@
+package com.persagy.fm.saas.accountproject.model.dto;
+
+import com.persagy.fm.saas.common.model.dto.SaasBaseDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author lixing
+ * @version V1.0 2021-03-26 15:15:42
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel(value = "删除账号-集团项目关联信息入参")
+public class DeleteSaasAccountProjectDTO extends SaasBaseDTO {
+    private String accountId;
+}

+ 21 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/model/dto/QuerySaasAccountProjectDTO.java

@@ -0,0 +1,21 @@
+package com.persagy.fm.saas.accountproject.model.dto;
+
+import com.persagy.fm.saas.common.model.dto.SaasBaseDTO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * @author lixing
+ * @version V1.0 2021-03-26 15:15:42
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel(value = "查询账号-集团项目关联信息入参")
+public class QuerySaasAccountProjectDTO extends SaasBaseDTO {
+    @ApiModelProperty(value = "账号ID", required = true)
+    private String accountId;
+}

+ 48 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/service/ISaasAccountProjectService.java

@@ -0,0 +1,48 @@
+package com.persagy.fm.saas.accountproject.service;
+
+import com.persagy.fm.saas.accountproject.model.*;
+import com.persagy.fm.saas.accountproject.model.dto.*;
+
+import java.util.List;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 账号-集团项目关联信息(SaasAccountProject) service接口
+ *
+ * @author lixing
+ * @version V1.0 2021-03-26 15:15:40
+ */
+public interface ISaasAccountProjectService {
+
+    /**
+     * 创建账号-集团项目关联信息
+     *
+     * @param addSaasAccountProjectDTO addDTO
+     * @return 账号-集团项目关联信息主键
+     * @author lixing
+     * @version V1.0 2021-03-26 15:15:40
+     */
+    String createSaasAccountProject(AddSaasAccountProjectDTO addSaasAccountProjectDTO);
+
+    /**
+     * 删除账号-集团项目关联信息
+     *
+     * @param accountId 账号id
+     * @author lixing
+     * @version V1.0 2021-03-26 15:15:40
+     */
+    void deleteSaasAccountProject(String accountId);
+
+    /**
+     * 查询账号-集团项目关联信息
+     *
+     * @param querySaasAccountProjectDTO queryDTO
+     * @return List<SaasAccountProject>
+     * @author lixing
+     * @version V1.0 2021-03-26 15:15:40
+     */
+    List<SaasAccountProject> querySaasAccountProjectList(QuerySaasAccountProjectDTO querySaasAccountProjectDTO);
+}

+ 47 - 0
fm-person/src/main/java/com/persagy/fm/saas/accountproject/service/impl/SaasAccountProjectServiceImpl.java

@@ -0,0 +1,47 @@
+package com.persagy.fm.saas.accountproject.service.impl;
+
+import com.persagy.fm.common.response.FmResponseContent;
+import com.persagy.fm.saas.accountproject.client.SaasAccountProjectClient;
+import com.persagy.fm.saas.accountproject.model.SaasAccountProject;
+import com.persagy.fm.saas.accountproject.model.dto.AddSaasAccountProjectDTO;
+import com.persagy.fm.saas.accountproject.model.dto.DeleteSaasAccountProjectDTO;
+import com.persagy.fm.saas.accountproject.model.dto.QuerySaasAccountProjectDTO;
+import com.persagy.fm.saas.accountproject.service.ISaasAccountProjectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 账号-集团项目关联信息(SaasAccountProject) service层
+ *
+ * @author lixing
+ * @version V1.0 2021-03-26 15:15:40
+ */
+@Service
+public class SaasAccountProjectServiceImpl implements ISaasAccountProjectService {
+    @Autowired
+    SaasAccountProjectClient saasAccountProjectClient;
+
+    @Override
+    public String createSaasAccountProject(AddSaasAccountProjectDTO addSaasAccountProjectDTO) {
+        addSaasAccountProjectDTO.setDefaultValue();
+        FmResponseContent<String> saasAccountProject = saasAccountProjectClient.createSaasAccountProject(addSaasAccountProjectDTO);
+        return saasAccountProject.getContent();
+    }
+
+    @Override
+    public void deleteSaasAccountProject(String accountId) {
+        DeleteSaasAccountProjectDTO deleteSaasAccountProjectDTO = new DeleteSaasAccountProjectDTO();
+        deleteSaasAccountProjectDTO.setDefaultValue();
+        deleteSaasAccountProjectDTO.setAccountId(accountId);
+        saasAccountProjectClient.deleteSaasAccountProject(deleteSaasAccountProjectDTO);
+    }
+
+    @Override
+    public List<SaasAccountProject> querySaasAccountProjectList(QuerySaasAccountProjectDTO querySaasAccountProjectDTO) {
+        querySaasAccountProjectDTO.setDefaultValue();
+        FmResponseContent<List<SaasAccountProject>> responseContent = saasAccountProjectClient.querySaasAccountProjectList(querySaasAccountProjectDTO);
+        return responseContent.getContent();
+    }
+}

+ 32 - 0
fm-person/src/main/java/com/persagy/fm/saas/common/model/dto/SaasBaseDTO.java

@@ -0,0 +1,32 @@
+package com.persagy.fm.saas.common.model.dto;
+
+import com.persagy.fm.common.context.DefaultAppContext;
+import com.persagy.fm.saas.account.constant.enums.AccountBelongEnum;
+import lombok.Data;
+
+/**
+ * 运维平台基础dto类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/26 4:48 下午
+ **/
+@Data
+public class SaasBaseDTO {
+    private String accountBelong;
+    private String groupCode;
+    private String appId;
+    private String accountId;
+
+    /**
+     * 设置默认的属性
+     *
+     * @author lixing
+     * @version V1.0 2021/3/26 11:32 上午
+     */
+    public void setDefaultValue() {
+        this.setAccountBelong(AccountBelongEnum.BUSINESS.getType());
+        this.setAccountId(DefaultAppContext.getContext().getAccountId());
+        this.setGroupCode(DefaultAppContext.getContext().getGroupCode());
+        this.setAppId(DefaultAppContext.getContext().getAppId());
+    }
+}

+ 25 - 0
fm-person/src/main/java/com/persagy/fm/saas/common/model/dto/SaasBasePageDTO.java

@@ -0,0 +1,25 @@
+package com.persagy.fm.saas.common.model.dto;
+
+import com.persagy.fm.common.constant.PageQueryConstants;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 运维平台基础dto类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/26 4:48 下午
+ **/
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class SaasBasePageDTO extends SaasBaseDTO{
+    private Integer page;
+    private Integer size;
+
+    @Override
+    public void setDefaultValue() {
+        super.setDefaultValue();
+        this.setPage(PageQueryConstants.DEFAULT_PAGE);
+        this.setSize(PageQueryConstants.DEFAULT_SIZE);
+    }
+}

+ 26 - 0
fm-person/src/main/java/com/persagy/fm/saas/project/model/SaasArea.java

@@ -0,0 +1,26 @@
+package com.persagy.fm.saas.project.model;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 运维系统区域实体类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/26 5:48 下午
+ **/
+@Data
+public class SaasArea {
+    private String areaCode;
+    private String areaName;
+    private String areaType;
+    private Date createTime;
+    private String groupCode;
+    private String id;
+    private String parentId;
+    private String projectNum;
+    private String remark;
+    private Date updateTime;
+    private String updateUser;
+}

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

@@ -0,0 +1,20 @@
+package com.persagy.fm.saas.project.model.dto;
+
+import com.persagy.fm.saas.common.model.dto.SaasBaseDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 查询运维系统区域项目树入参,所有参数非必填
+ *
+ * @author lixing
+ * @version V1.0 2021/3/26 5:43 下午
+ **/
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class QuerySaasAreaProjectTreeDTO extends SaasBaseDTO {
+    private String projectId;
+    private String areaId;
+    private String projectLocalId;
+    private String projectName;
+}

+ 28 - 0
fm-person/src/main/java/com/persagy/fm/saas/project/model/vo/SaasAreaProjectTreeItemVO.java

@@ -0,0 +1,28 @@
+package com.persagy.fm.saas.project.model.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 运维平台区域项目树条目vo类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/26 5:53 下午
+ **/
+@Data
+public class SaasAreaProjectTreeItemVO {
+    private String areaCode;
+    private String areaName;
+    private String areaType;
+    private List<SaasAreaProjectTreeItemVO> childrens;
+    private Date createTime;
+    private String groupCode;
+    private String id;
+    private String parentId;
+    private String remark;
+    private Date updateTime;
+    private String updateUser;
+    private List<SaasProjectTreeItemVO> projects;
+}

+ 17 - 0
fm-person/src/main/java/com/persagy/fm/saas/project/model/vo/SaasAreaProjectTreeVO.java

@@ -0,0 +1,17 @@
+package com.persagy.fm.saas.project.model.vo;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 运维平台区域项目树vo类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/26 5:53 下午
+ **/
+@Data
+public class SaasAreaProjectTreeVO {
+    private List<SaasAreaProjectTreeItemVO> areas;
+}

+ 19 - 0
fm-person/src/main/java/com/persagy/fm/saas/project/model/vo/SaasProjectTreeItemVO.java

@@ -0,0 +1,19 @@
+package com.persagy.fm.saas.project.model.vo;
+
+import lombok.Data;
+
+/**
+ * 运维系统项目树节点vo类
+ *
+ * @author lixing
+ * @version V1.0 2021/3/26 6:00 下午
+ **/
+@Data
+public class SaasProjectTreeItemVO {
+    private String areaId;
+    private String groupCode;
+    private String id;
+    private String projectId;
+    private String projectLocalId;
+    private String projectName;
+}