Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
framework-tools
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit efeba8b5
authored
Jul 05, 2024
by
henry
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加资产数据
1 parent
2f61b4af
Show whitespace changes
Inline
Side-by-side
Showing
173 changed files
with
10122 additions
and
227 deletions
arch-base/pom.xml
arch-base/src/main/java/org/arch/config/LongListFormatSerializer.java
arch-base/src/main/java/org/arch/enums/ArchiAbilityInventoryEnum.java
arch-base/src/main/java/org/arch/enums/ArchiAssetEnum.java
arch-base/src/main/java/org/arch/enums/ArchiAssetType.java
arch-base/src/main/java/org/arch/enums/ArchiAssetTypeEnum.java
arch-base/src/main/java/org/arch/enums/ArchiBigClassEnum.java
arch-base/src/main/java/org/arch/enums/ArchiPrjReviewEnum.java
arch-base/src/main/java/org/arch/enums/ArchiStateEnum.java
arch-base/src/main/java/org/arch/enums/BusinessTypeEnum.java
arch-base/src/main/java/org/arch/enums/DelFlagEnum.java
arch-base/src/main/java/org/arch/enums/DirectoryTypeEnum.java
arch-base/src/main/java/org/arch/enums/EnableEnum.java
arch-base/src/main/java/org/arch/enums/IsDeleteEnum.java
arch-base/src/main/java/org/arch/enums/IsExaApproveEnum.java
arch-base/src/main/java/org/arch/enums/MenuTypeEnum.java
arch-base/src/main/java/org/arch/enums/PrjLinkEnum.java
arch-base/src/main/java/org/arch/enums/PrjStateEnum.java
arch-base/src/main/java/org/arch/enums/SexEnum.java
arch-base/src/main/java/org/arch/enums/StatusEnum.java
arch-base/src/main/java/org/arch/enums/TypeEnum.java
arch-base/src/main/java/org/arch/enums/UserTypeEnum.java
arch-base/src/main/java/org/arch/enums/VersionStatusEnum.java
arch-base/src/main/java/org/arch/enums/ViewTypeEnum.java
arch-base/src/main/java/org/arch/exception/BDException.java
arch-base/src/main/java/org/arch/exception/BaseException.java
arch-base/src/main/java/org/arch/exception/CommonException.java
arch-base/src/main/java/org/arch/exception/GlobalExceptionTranslator.java
arch-base/src/main/java/org/arch/utils/AesCipherUtil.java
arch-gateway/src/main/java/org/arch/util/Base64ConvertUtil.java → arch-base/src/main/java/org/arch/utils/Base64ConvertUtil.java
arch-base/src/main/java/org/arch/utils/HexConvertUtil.java
arch-gateway/src/main/java/org/arch/util/JwtUtil.java → arch-base/src/main/java/org/arch/utils/JwtUtil.java
arch-base/src/main/java/org/arch/utils/RequestUtils.java
arch-clouds/common/pom.xml
arch-clouds/mybatis/src/main/java/org/arch/common/entity/BaseEntity.java → arch-clouds/common/src/main/java/org/arch/common/BaseEntity.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AdsParserContentDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AppArchiConRequireDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AppArchiConRequireReviewDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AppArchiPostilReqDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AppInfoDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityAssetsDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityAssetsQryReqDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityAssetsReqDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInveStatReqDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInveStatResDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryAppDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryBusDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryDataDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryReqDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryResDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryTecDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetCommonDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetEleRelaAddAndUpdateDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetEleRelaQueryDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetEvolutionRoadmapDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetExtendDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetFrameworkDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetInfoDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetNowDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetVisalDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetsRelationDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetsRelationQueryDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiCommonDTO.java
arch-base/src/main/java/org/arch/modules/archoverall/dto/ArchiElePropertyDTO.java → arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiElePropertyDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiEleRelaConstrainDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiEleRelaDTO.java
arch-base/src/main/java/org/arch/modules/archoverall/dto/ArchiElementDTO.java → arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiElementDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiMetaModelDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiRelaSatePostDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiTreeDto.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiViewDTO.java
arch-base/src/main/java/org/arch/modules/archoverall/dto/BasePageEntity.java → arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/BasePageEntity.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/BatchRemoveDTO.java
arch-base/src/main/java/org/arch/modules/archoverall/dto/BatchUpdateDTO.java → arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/BatchUpdateDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/BatchUpdateRelaDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/DelDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/DocMarkTag.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/NeedInfoDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/OnlineReviewCountQueryDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/OnlineReviewWriteDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/WordContentDTO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchVisualVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiAbilityAssetsRelationQueryVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiAssetEleRelaVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiAssetVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiAssetViewVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiEleRelaNameVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiEleRelaVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiVersionVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiViewVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/MxCellTreeVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/MxCellVO.java
arch-base/src/main/java/org/arch/modules/base/dto/UpLoadDTO.java → arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/MxFileVO.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/NeedReviewVo.java
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/OnlineReviewCountVO.java
arch-base/src/main/java/org/arch/modules/base/dto/DelDTO.java → arch-clouds/common/src/main/java/org/arch/common/base/dto/DelDTO.java
arch-base/src/main/java/org/arch/modules/base/dto/DictDTO.java → arch-clouds/common/src/main/java/org/arch/common/base/dto/DictDTO.java
arch-base/src/main/java/org/arch/modules/base/dto/DownloadObjectDTO.java → arch-clouds/common/src/main/java/org/arch/common/base/dto/DownloadObjectDTO.java
arch-base/src/main/java/org/arch/modules/base/vo/UpLoadVO.java → arch-clouds/common/src/main/java/org/arch/common/base/vo/UpLoadVO.java
arch-gateway/src/main/java/org/arch/overall/service/RedisService.java → arch-clouds/common/src/main/java/org/arch/common/redis/service/RedisService.java
arch-clouds/common/src/main/java/org/arch/common/user/dto/DeptSmallDto.java
arch-clouds/common/src/main/java/org/arch/common/user/dto/MenuDto.java
arch-clouds/common/src/main/java/org/arch/common/user/dto/RoleSmallDto.java
arch-base/src/main/java/org/arch/modules/sysmanage/dto/UserDto.java → arch-clouds/common/src/main/java/org/arch/common/user/dto/UserDto.java
arch-clouds/common/src/main/java/org/arch/common/user/entity/Menu.java
arch-clouds/common/src/main/java/org/arch/common/user/entity/Org.java
arch-clouds/log/pom.xml
arch-clouds/log/src/main/java/org/arch/log/service/SysEventLogService.java
arch-clouds/log/src/main/java/org/arch/log/service/impl/SysEventLogServiceImpl.java
arch-clouds/mybatis/pom.xml
arch-clouds/pom.xml
arch-clouds/storage/pom.xml
arch-clouds/storage/src/main/java/org/arch/storage/entity/File.java
arch-clouds/storage/src/main/java/org/arch/storage/service/OssService.java
arch-clouds/storage/src/main/java/org/arch/storage/service/impl/OssServiceImpl.java
arch-gateway/pom.xml
arch-gateway/src/main/java/org/arch/GatewayApp.java
arch-gateway/src/main/java/org/arch/config/LoginFilter.java
arch-gateway/src/main/java/org/arch/util/StringUtils.java
arch-overall/pom.xml
arch-overall/src/main/java/org/arch/overall/controller/ArchiAssetInfoController.java
arch-overall/src/main/java/org/arch/overall/controller/ArchiEleRelaController.java
arch-overall/src/main/java/org/arch/overall/controller/ArchiElementController.java
arch-overall/src/main/java/org/arch/overall/dto/ArchiAssetDesignedAddDTO.java
arch-overall/src/main/java/org/arch/overall/dto/ArchiAssetDesignedInfoDTO.java
arch-overall/src/main/java/org/arch/overall/dto/ArchiDto.java
arch-overall/src/main/java/org/arch/overall/dto/ArchiReqDto.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiAbilityAssetsRelation.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiAssetRelated.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiAssetStatistics.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiAssetSystem.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiEleRela.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiEleRelaConstrain.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiElement.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiElementNestRelation.java
arch-overall/src/main/java/org/arch/overall/entity/ArchiMetaModel.java
arch-overall/src/main/java/org/arch/overall/entity/AssetInfo.java
arch-overall/src/main/java/org/arch/overall/entity/OnlineReviewWrite.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiAbilityAssetsRelationMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiAssertMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiAssetInfoMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiAssetSystemMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiElePropertyMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiEleRelaConstrainMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiEleRelaMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiElementMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiElementNestRelationMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiMetaModelMapper.java
arch-overall/src/main/java/org/arch/overall/mapper/ArchiTotalAssertMapper.java
arch-overall/src/main/java/org/arch/overall/service/ArchiAssetInfoService.java
arch-overall/src/main/java/org/arch/overall/service/ArchiAssetService.java
arch-overall/src/main/java/org/arch/overall/service/ArchiElePropertyService.java
arch-overall/src/main/java/org/arch/overall/service/ArchiEleRelaService.java
arch-overall/src/main/java/org/arch/overall/service/ArchiElementService.java
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiAssertServiceImpl.java
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiAssetInfoServiceImpl.java
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiElePropertyImpl.java
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiEleRelaImpl.java
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiElementImpl.java
arch-overall/src/main/java/org/arch/overall/utils/GenerateAssetCodeUtils.java
arch-overall/src/main/java/org/arch/overall/utils/MxFileUtil.java
arch-overall/src/main/java/org/arch/overall/vo/AssetInfoLevelVO.java
arch-overall/src/main/resources/bootstrap-dev.yml
arch-overall/src/main/resources/mapper/ArchiAbilityAssetsRelationMapper.xml
arch-overall/src/main/resources/mapper/ArchiAssertMapper.xml
arch-overall/src/main/resources/mapper/ArchiAssetInfoMapper.xml
arch-overall/src/main/resources/mapper/ArchiElePropertyMapper.xml
arch-overall/src/main/resources/mapper/ArchiEleRelaConstrainMapper.xml
arch-overall/src/main/resources/mapper/ArchiEleRelaMapper.xml
arch-overall/src/main/resources/mapper/ArchiMetaModelMapper.xml
pom.xml
arch-base/pom.xml
View file @
efeba8b
...
...
@@ -175,6 +175,10 @@
<artifactId>
tika-parser-pdf-module
</artifactId>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.nasdanika.core
</groupId>
<artifactId>
mxgraph
</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
arch-base/src/main/java/org/arch/config/LongListFormatSerializer.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
config
;
import
com.fasterxml.jackson.core.JsonGenerator
;
import
com.fasterxml.jackson.databind.JsonSerializer
;
import
com.fasterxml.jackson.databind.SerializerProvider
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
LongListFormatSerializer
extends
JsonSerializer
<
List
<
Long
>>
{
@Override
public
void
serialize
(
List
<
Long
>
value
,
JsonGenerator
jsonGenerator
,
SerializerProvider
serializerProvider
)
throws
IOException
{
// String text = "";
List
<
String
>
strList_v
=
new
ArrayList
<>();
//是否为空
if
(!
CollectionUtils
.
isEmpty
(
value
))
{
try
{
List
<
String
>
strList
=
new
ArrayList
<>(
value
.
size
());
for
(
Long
aLong
:
value
)
{
strList
.
add
(
String
.
valueOf
(
aLong
));
}
//格式化是否为空
if
(!
CollectionUtils
.
isEmpty
(
strList
))
{
jsonGenerator
.
writeObject
(
strList
);
return
;
}
}
catch
(
Exception
ignored
)
{
}
}
// jsonGenerator.writeString(text);
jsonGenerator
.
writeObject
(
strList_v
);
}
}
arch-base/src/main/java/org/arch/enums/ArchiAbilityInventoryEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 总体架构资产维护-企业中台服务清单枚举类
*/
@Getter
@AllArgsConstructor
public
enum
ArchiAbilityInventoryEnum
{
//====================================总体架构资产维护-企业中台服务清单-中台服务清单枚举====================================
SERVICE_INV_FREQ
(
1
,
"服务调用频率"
,
""
),
SERVICE_INV_NUM
(
2
,
"服务调用方数量"
,
""
),
OPR_ENTITY_NUM
(
3
,
"操作实体数量"
,
""
),
SUPPORT_TEC_MODNUM
(
4
,
"支撑技术组件数量"
,
""
),
SUPPPORT_BUS_ACTNUM
(
5
,
"支撑的业务活动数量"
,
""
),
REL_MID_SERVICE_NUM
(
6
,
"关联的中台服务数量"
,
""
),
//====================================总体架构资产维护-企业中台服务清单-业务信息枚举类====================================
REL_BUS_NUM
(
7
,
"关联的业务对象数量"
,
""
),
REL_APP_NUM
(
8
,
"关联的应用服务数量"
,
""
);
private
final
Integer
code
;
private
final
String
name
;
private
final
String
type
;
}
arch-base/src/main/java/org/arch/enums/ArchiAssetEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 架构资产类型枚举
*
* @author admin
* @date 2024/01/12
*/
@Getter
@AllArgsConstructor
public
enum
ArchiAssetEnum
{
BUSI
(
"archi_asset_busi"
,
1
,
"业务架构"
),
APP
(
"archi_asset_app"
,
2
,
"应用架构"
),
DATA
(
"archi_asset_data"
,
3
,
"数据架构"
),
TECH
(
"archi_asset_tech"
,
4
,
"技术架构"
),
SAFE
(
"archi_asset_safe"
,
5
,
"安全架构"
);
private
final
String
code
;
private
final
Integer
id
;
private
final
String
name
;
/**
* 根据id获取架构资产类型
*/
public
static
ArchiAssetEnum
getEnumById
(
Integer
id
)
{
for
(
ArchiAssetEnum
value
:
ArchiAssetEnum
.
values
())
{
if
(
value
.
getId
().
equals
(
id
))
{
return
value
;
}
}
return
null
;
}
}
arch-base/src/main/java/org/arch/enums/ArchiAssetType.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
/**
* 架构资产类型(3.新增、2.完善、1.遵从)
*
* @author xh13k
* @date 2024/05/07
*/
public
enum
ArchiAssetType
{
/**
* 新增
*/
ADD
(
3
,
"新增"
),
/**
* 完善
*/
IMPROVE
(
2
,
"完善"
),
/**
* 遵从
*/
FOLLOW
(
1
,
"遵从"
);
private
final
int
code
;
private
final
String
desc
;
ArchiAssetType
(
int
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
static
ArchiAssetType
getByCode
(
int
code
)
{
for
(
ArchiAssetType
value
:
values
())
{
if
(
value
.
code
==
code
)
{
return
value
;
}
}
return
null
;
}
}
arch-base/src/main/java/org/arch/enums/ArchiAssetTypeEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.Getter
;
/**
* 3.新增、2.完善、1.遵从
*
* @author xh13k
* @date 2024/04/28
*/
@Getter
public
enum
ArchiAssetTypeEnum
{
/**
* 新增
*/
ADD
(
3
,
"新增"
),
/**
* 完善
*/
IMPROVE
(
2
,
"完善"
),
/**
* 遵从
*/
COMPLY
(
1
,
"遵从"
);
private
final
Integer
code
;
private
final
String
desc
;
ArchiAssetTypeEnum
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
}
arch-base/src/main/java/org/arch/enums/ArchiBigClassEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 架构大类枚举
*
* <p>
* 1:总体架构;2:系统架构 3:概设架构 4:其他架构
* </>
*
* @author admin
* @date 2024/01/12
*/
@Getter
@AllArgsConstructor
public
enum
ArchiBigClassEnum
{
TOTAL
(
1
,
"总体架构"
),
SYSTEM
(
2
,
"系统架构"
),
CONCEPT
(
3
,
"概设架构"
),
OTHER
(
4
,
"其他架构"
);
private
final
Integer
id
;
private
final
String
name
;
}
arch-base/src/main/java/org/arch/enums/ArchiPrjReviewEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 系统架构管用要求评审意见枚举
* <p>
* 致性评审
* 架构遵从
* 关键技术深度评审
* 功能深度评审
* 数据深度评审
* <p>
* 安全架构遵从
* 部署架构审查
* 技术架构遵从
* 应用架构遵从
* 物理数据架构遵从
* <p>
* 运安符合性审查
* 功能满足审查
* 运行可靠性审查
* 系统实用性审查
* 系统安全性审查
* 资源复用性审查
*/
@Getter
@AllArgsConstructor
public
enum
ArchiPrjReviewEnum
{
//====================================评审情况(概要设计)====================================
CONFORMANCE_REVIEW
(
"conformance_review"
,
"一致性评审"
,
""
),
ARCHITECTURE_CONFORMANCE
(
"architecture_conformance"
,
"架构遵从"
,
""
),
KEY_TECHNOLOGY_REVIEW
(
"key_technology_review"
,
"关键技术深度评审"
,
""
),
FUNCTIONAL_DEPTH_REVIEW
(
"functional_depth_review"
,
"功能深度评审"
,
""
),
DATA_DEPTH_REVIEW
(
"data_depth_review"
,
"数据深度评审"
,
""
),
//====================================获取批注所需要的====================================
FEASIBILITY_STUDY_REPORT
(
"feasibility_study_report"
,
"可行性研究报告"
,
"可行性研究报告"
),
REQUIREMENT_SPECIFICATION
(
"requirement_specification"
,
"需求规格说明书"
,
"需求规格说明书"
),
ARCHI_DESIGN_SPECIFICATION
(
"archi_design_specification"
,
"概要设计说明书"
,
"概要设计说明书"
),
TECHNICAL_SPECIFICATION_BOOK
(
"technical_specification_book"
,
"技术规范书"
,
"技术规范书"
),
SAFETY_PROTECTION_SCHEME
(
"safety_protection_scheme"
,
"安全防护方案"
,
"安全防护方案"
),
//====================================概设架构遵从检查====================================
SECURITY_ARCHITECTURE_CONFORMANCE
(
"security_architecture_conformance"
,
"安全架构遵从"
,
"安全防护方案"
),
DEPLOYMENT_ARCHITECTURE_REVIEW
(
"deployment_architecture_review"
,
"部署架构审查"
,
""
),
TECHNICAL_ARCHITECTURE_CONFORMANCE
(
"technical_architecture_conformance"
,
"技术架构遵从"
,
"技术架构设计方案"
),
APPLICATION_ARCHITECTURE_CONFORMANCE
(
"application_architecture_conformance"
,
"应用架构遵从"
,
"应用架构遵从"
),
PHYSICAL_DATA_ARCHITECTURE_CONFORMANCE
(
"physical_data_architecture_conformance"
,
"物理数据架构遵从"
,
""
),
//====================================概设架构政策审查====================================
OPERATIONAL_SAFETY_COMPLIANCE_REVIEW
(
"operational_safety_compliance_review"
,
"运安符合性审查"
,
"概要设计说明书"
),
FUNCTIONAL_SATISFACTION_REVIEW
(
"functional_satisfaction_review"
,
"功能满足审查"
,
"概要设计说明书"
),
OPERATIONAL_RELIABILITY_REVIEW
(
"operational_reliability_review"
,
"运行可靠性审查"
,
"概要设计说明书"
),
SYSTEM_PRACTICALITY_REVIEW
(
"system_practicality_review"
,
"系统实用性审查"
,
"概要设计说明书"
),
SYSTEM_SECURITY_REVIEW
(
"system_security_review"
,
"系统安全性审查"
,
"概要设计说明书"
),
RESOURCE_REUSABILITY_REVIEW
(
"resource_reusability_review"
,
"资源复用性审查"
,
"概要设计说明书"
),
//====================================概设材料审查====================================
REPORT_NORM
(
"report_norm"
,
"报告规范性"
,
"概要设计说明书"
),
FRAMEWORK_OBEY
(
"framework_obey"
,
"架构遵从"
,
"概要设计说明书"
),
TECH_ROUTE
(
"tech_route"
,
"技术路线"
,
"概要设计说明书"
),
FUNCTION_UNLIKE
(
"function_unlike"
,
"功能偏差"
,
"概要设计说明书"
),
APP_DEP
(
"app_dep"
,
"系统部署"
,
"概要设计说明书"
),
APP_INT
(
"app_int"
,
"系统集成"
,
"概要设计说明书"
),
APP_SAFE
(
"app_safe"
,
"系统安全"
,
"概要设计说明书"
),
FUNCTION_S_RISK
(
"function_s_risk"
,
"功能重复风险"
,
"概要设计说明书"
),
DATA_S_INSERT_RISK
(
"data_s_insert_risk"
,
"数据重复录入风险"
,
"概要设计说明书"
),
//====================================概设材料解析====================================
TECH_ROUTE_CONTENT
(
"tech_route_content"
,
"技术路线状态内容"
,
"技术路线状态内容"
),
ARCHI_COMP_CONTENT
(
"archi_comp_content"
,
"架构遵从内容"
,
"架构遵从内容"
),
FUNCTION_LIST_CONTENT
(
"function_list_content"
,
"功能清单内容"
,
"功能清单内容"
),
DATA_ENTITY_LIST_CONTENT
(
"data_entity_list_content"
,
"数据实体清单内容"
,
"数据实体清单内容"
),
INTEGRATE_SYS_LIST_CONTENT
(
"integrate_sys_list_content"
,
"集成系统清单内容"
,
"集成系统清单内容"
);
private
final
String
code
;
private
final
String
name
;
private
final
String
type
;
}
arch-base/src/main/java/org/arch/enums/ArchiStateEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
/**
* 状态 0:已停用 1:已发布 2:暂存
*
* @author xh13k
* @date 2024/05/11
*/
public
enum
ArchiStateEnum
{
/**
* 已停用
*/
DISABLED
(
0
,
"已停用"
),
/**
* 已发布
*/
PUBLISHED
(
1
,
"已发布"
),
/**
* 暂存
*/
TEMPORARY
(
2
,
"暂存"
);
private
final
int
code
;
private
final
String
desc
;
ArchiStateEnum
(
int
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
int
getCode
()
{
return
code
;
}
public
String
getDesc
()
{
return
desc
;
}
}
arch-base/src/main/java/org/arch/enums/BusinessTypeEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* Business 类型枚举
*
* @author admin
* @date 2024/01/12
*/
@Getter
@AllArgsConstructor
public
enum
BusinessTypeEnum
{
APP
(
",aa-"
,
"应用架构"
),
BUSI
(
"ab-"
,
"业务架构"
),
DATA
(
"ad-"
,
"数据架构"
),
SAFE
(
"as-"
,
"安全架构"
),
TECH
(
"at-"
,
"技术架构"
);
private
final
String
code
;
private
final
String
name
;
}
arch-base/src/main/java/org/arch/enums/DelFlagEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
DelFlagEnum
{
SHOW
(
0
,
"显示"
),
HIDE
(
1
,
"隐藏"
);
private
Integer
code
;
private
String
name
;
}
arch-base/src/main/java/org/arch/enums/DirectoryTypeEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
DirectoryTypeEnum
{
VARTICAL_TABLE
(
"vartical_table"
,
"纵向表格"
),
HORIZONTAL_TABLE
(
"horizontal_table"
,
"横向表格"
),
RICH_TEXT
(
"rich_text"
,
"富文本框"
);
private
String
type
;
private
String
mean
;
}
arch-base/src/main/java/org/arch/enums/EnableEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 是否可用枚举类
*/
@Getter
@AllArgsConstructor
public
enum
EnableEnum
{
ENABLE
(
1
,
"启用"
),
UN_ENABLE
(
0
,
"禁用"
),
;
/**
* 错误码
*/
private
int
code
;
/**
* 错误信息
*/
private
String
msg
;
}
arch-base/src/main/java/org/arch/enums/IsDeleteEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 是否可用枚举类
*/
@Getter
@AllArgsConstructor
public
enum
IsDeleteEnum
{
DELETE
(
1
,
"已删除"
),
NOT_DELETE
(
0
,
"未删除"
),
;
/**
* 错误码
*/
private
int
code
;
/**
* 错误信息
*/
private
String
msg
;
}
arch-base/src/main/java/org/arch/enums/IsExaApproveEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
*@Description:描述审批状态枚举类
*@Author:liu
*@Date:2021/7/22 15:31
*@Version 1.0
*/
@Getter
@AllArgsConstructor
public
enum
IsExaApproveEnum
{
EXA_APPROVE
(
"1"
,
"已审批"
),
NOT_EXA_APPROVE
(
"0"
,
"未审批"
),
;
/**
* 状态码
*/
private
String
code
;
/**
* 状态信息
*/
private
String
msg
;
}
arch-base/src/main/java/org/arch/enums/MenuTypeEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 菜单类型
*/
@Getter
@AllArgsConstructor
public
enum
MenuTypeEnum
{
CATALOG
(
0
,
"目录"
),
MENU
(
1
,
"菜单"
),
BUTTON
(
2
,
"按钮"
),
;
/**
* 编码
*/
private
int
code
;
/**
* 名称
*/
private
String
name
;
}
arch-base/src/main/java/org/arch/enums/PrjLinkEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 1.可研
* 2.计划
* 3.采购
* 4.合同
* 5.实施
* 6.验收
* 7.决算
* 8.转资
*
* @author xh13k
* @date 2023/05/04
*/
@Getter
@AllArgsConstructor
public
enum
PrjLinkEnum
{
PRJ_PRE
(
"1"
,
"可研"
),
PRJ_BUILD
(
"2"
,
"计划"
),
PRJ_BUY
(
"3"
,
"采购"
),
PRJ_CONTRACT
(
"4"
,
"合同"
),
PRJ_WORK
(
"5"
,
"实施"
),
PRJ_CHECK
(
"6"
,
"验收"
),
PRJ_FINAL
(
"7"
,
"决算"
),
PRJ_TRANS
(
"8"
,
"转资"
);
private
String
code
;
private
String
name
;
public
static
String
getNameByCode
(
String
code
)
{
for
(
PrjLinkEnum
prjLinkEnum
:
PrjLinkEnum
.
values
())
{
if
(
prjLinkEnum
.
getCode
().
equals
(
code
))
{
return
prjLinkEnum
.
getName
();
}
}
return
null
;
}
}
arch-base/src/main/java/org/arch/enums/PrjStateEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 1:项目前期
* 2:项目建设
* 3:项目验收
*
* @author xh13k
* @date 2023/05/04
*/
@Getter
@AllArgsConstructor
public
enum
PrjStateEnum
{
PRJ_PRE
(
"1"
,
"项目前期"
),
PRJ_BUILD
(
"2"
,
"项目建设"
),
PRJ_CHECK
(
"3"
,
"项目验收"
);
private
String
code
;
private
String
name
;
public
static
String
getNameByCode
(
String
code
)
{
for
(
PrjStateEnum
prjStateEnum
:
PrjStateEnum
.
values
())
{
if
(
prjStateEnum
.
getCode
().
equals
(
code
))
{
return
prjStateEnum
.
getName
();
}
}
return
null
;
}
}
arch-base/src/main/java/org/arch/enums/SexEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 用户性别
*/
@Getter
@AllArgsConstructor
public
enum
SexEnum
{
UN_KNOW
(
0
,
"未知"
),
MAN
(
1
,
"男"
),
WOMAN
(
2
,
"女"
),
;
/**
* 错误码
*/
private
int
code
;
/**
* 错误信息
*/
private
String
name
;
}
arch-base/src/main/java/org/arch/enums/StatusEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 状态类型字段值的枚举类
*/
@Getter
@AllArgsConstructor
public
enum
StatusEnum
{
//文档模板状态值
TEMPLATE_CREATED
(
"0"
,
"已创建"
),
TEMPLATE_EDIT
(
"1"
,
"编制中"
),
TEMPLATE_USED
(
"2"
,
"执行中"
),
TEMPLATE_UNUSED
(
"2"
,
"已禁用"
),
FSR_BACK
(
"0"
,
"驳回"
),
FSR_EDIT
(
"1"
,
"编制"
),
FSR_TRIAL
(
"2"
,
"初审"
),
FSR_SIGN
(
"3"
,
"会签"
),
FSR_UPDATE
(
"4"
,
"修正"
),
FSR_PASS
(
"5"
,
"通过"
),
FSR_TABLE_CONTENT_BEF
(
"1"
,
"原有"
),
FSR_TABLE_CONTENT_UPD
(
"2"
,
"优化"
),
FSR_TABLE_CONTENT_NEW
(
"3"
,
"新增"
)
;
private
String
status
;
private
String
mean
;
}
arch-base/src/main/java/org/arch/enums/TypeEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
TypeEnum
{
//模板类型
TEMPLATE_FSR
(
"可研模板"
,
"0"
),
TEMPLATE_ADS
(
"概设模板"
,
"1"
);
private
String
name
;
private
String
value
;
}
arch-base/src/main/java/org/arch/enums/UserTypeEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
UserTypeEnum
{
TEMPORARY_STAFF
(
0
,
"临时员工"
),
REGULAR_EMPLOYEE
(
1
,
"正式员工"
),
;
/**
* 编码
*/
private
int
code
;
/**
* 名称
*/
private
String
name
;
}
arch-base/src/main/java/org/arch/enums/VersionStatusEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* 版本状态
*/
@Getter
@AllArgsConstructor
public
enum
VersionStatusEnum
{
CURR_VERSION
(
"1"
,
"当前版本"
),
HISTORY_VERSION
(
"2"
,
"历史版本"
),
;
/**
* 错误码
*/
private
String
code
;
/**
* 错误信息
*/
private
String
name
;
}
arch-base/src/main/java/org/arch/enums/ViewTypeEnum.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
@Getter
@AllArgsConstructor
public
enum
ViewTypeEnum
{
SHOW_TYPE
(
1
,
"显示类型"
),
NORMAL_TYPE
(
0
,
"常规类型"
);
private
Integer
code
;
private
String
name
;
}
arch-base/src/main/java/org/arch/exception/BDException.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
exception
;
/**
* 自定义异常
*
*/
public
class
BDException
extends
RuntimeException
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
msg
;
private
int
code
=
500
;
public
BDException
(
String
msg
)
{
super
(
msg
);
this
.
msg
=
msg
;
}
public
BDException
(
String
msg
,
Throwable
e
)
{
super
(
msg
,
e
);
this
.
msg
=
msg
;
}
public
BDException
(
String
msg
,
int
code
)
{
super
(
msg
);
this
.
msg
=
msg
;
this
.
code
=
code
;
}
public
BDException
(
String
msg
,
int
code
,
Throwable
e
)
{
super
(
msg
,
e
);
this
.
msg
=
msg
;
this
.
code
=
code
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
this
.
code
=
code
;
}
}
arch-base/src/main/java/org/arch/exception/BaseException.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
exception
;
import
lombok.Data
;
import
org.arch.enums.ExceptionEnum
;
/**
* 基础错误
*/
@Data
public
class
BaseException
extends
Exception
{
private
int
code
;
public
int
getCode
()
{
return
code
;
}
/**
* 错误实例化
* @param code 错误码
* @param msg 错误信息
*/
public
BaseException
(
int
code
,
String
msg
){
super
(
msg
);
this
.
code
=
code
;
}
/**
* 错误实例化
* @param exceptionEnum 错误枚举
*/
public
BaseException
(
ExceptionEnum
exceptionEnum
){
super
(
exceptionEnum
.
getMsg
());
this
.
code
=
exceptionEnum
.
getCode
();
}
}
arch-base/src/main/java/org/arch/exception/CommonException.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
exception
;
import
cn.hutool.core.util.StrUtil
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* 通用异常
*
* @date 2020/4/8 15:54
*/
@ApiModel
(
description
=
"通用异常"
)
@Getter
@Setter
public
class
CommonException
extends
RuntimeException
{
private
Integer
code
;
private
String
msg
;
public
CommonException
()
{
super
(
"服务器异常"
);
this
.
code
=
500
;
this
.
msg
=
"服务器异常"
;
}
public
CommonException
(
String
msg
,
Object
...
arguments
)
{
super
(
StrUtil
.
format
(
msg
,
arguments
));
this
.
code
=
500
;
this
.
msg
=
StrUtil
.
format
(
msg
,
arguments
);
}
public
CommonException
(
Integer
code
,
String
msg
,
Object
...
arguments
)
{
super
(
StrUtil
.
format
(
msg
,
arguments
));
this
.
code
=
code
;
this
.
msg
=
StrUtil
.
format
(
msg
,
arguments
);
}
}
arch-base/src/main/java/org/arch/exception/GlobalExceptionTranslator.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
exception
;
import
org.apache.shiro.authc.AuthenticationException
;
import
org.arch.Result
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.converter.HttpMessageNotReadableException
;
import
org.springframework.validation.BindException
;
import
org.springframework.web.bind.MethodArgumentNotValidException
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ResponseStatus
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.ConstraintViolation
;
import
javax.validation.ConstraintViolationException
;
import
java.util.stream.Collectors
;
/**
* 全局错误处理
*/
@RestControllerAdvice
public
class
GlobalExceptionTranslator
{
private
Logger
log
=
LoggerFactory
.
getLogger
(
GlobalExceptionTranslator
.
class
);
@ExceptionHandler
(
value
=
BaseException
.
class
)
@ResponseBody
public
Result
baseExceptionHandler
(
HttpServletRequest
req
,
BaseException
be
)
{
be
.
printStackTrace
();
log
.
error
(
be
.
getMessage
(),
be
);
return
Result
.
error
(
be
.
getCode
(),
be
.
getMessage
());
}
@ExceptionHandler
(
value
=
BDException
.
class
)
@ResponseBody
public
Result
baseExceptionHandler
(
HttpServletRequest
req
,
BDException
be
)
{
be
.
printStackTrace
();
log
.
error
(
be
.
getMessage
(),
be
);
return
Result
.
error
(
be
.
getCode
(),
be
.
getMessage
());
}
@ExceptionHandler
(
value
=
IllegalArgumentException
.
class
)
@ResponseBody
public
Result
baseExceptionHandler
(
HttpServletRequest
req
,
IllegalArgumentException
be
)
{
be
.
printStackTrace
();
log
.
error
(
be
.
getMessage
(),
be
);
return
Result
.
error
(
be
.
getMessage
());
}
@ExceptionHandler
(
value
=
AuthenticationException
.
class
)
@ResponseBody
public
Result
baseExceptionHandler
(
HttpServletRequest
req
,
AuthenticationException
ae
)
{
ae
.
printStackTrace
();
log
.
error
(
ae
.
getMessage
(),
ae
);
return
Result
.
error
(
401
,
"登录失效或者登录验证失败!"
);
}
/**
* 统一处理请求参数校验(实体对象传参)
*
* @param e HttpMessageNotReadableException异常信息
* @return 响应数据
*/
@ExceptionHandler
(
HttpMessageNotReadableException
.
class
)
@ResponseStatus
(
HttpStatus
.
BAD_REQUEST
)
public
Result
handleBindException
(
HttpMessageNotReadableException
e
)
{
return
Result
.
error
(
"请求参数错误"
);
}
/**
* MethodArgumentNotValidException-Spring封装的参数验证异常处理
* <p>MethodArgumentNotValidException:作用于 @Validated @Valid 注解,接收参数加上@RequestBody注解(json格式)才会有这种异常。</p>
*
* @param e MethodArgumentNotValidException异常信息
* @return 响应数据
*/
@ExceptionHandler
(
value
=
MethodArgumentNotValidException
.
class
)
public
Result
<?>
methodArgumentNotValidExceptionHandler
(
MethodArgumentNotValidException
e
)
{
String
msg
=
e
.
getBindingResult
().
getFieldErrors
()
.
stream
()
.
map
(
n
->
String
.
format
(
"%s: %s"
,
n
.
getField
(),
n
.
getDefaultMessage
()))
.
reduce
((
x
,
y
)
->
String
.
format
(
"%s; %s"
,
x
,
y
))
.
orElse
(
"参数输入有误"
);
log
.
error
(
"MethodArgumentNotValidException异常,参数校验异常:{}"
,
msg
);
return
Result
.
error
(
msg
);
}
/**
* BindException异常处理
* <p>BindException: 作用于@Validated @Valid 注解,仅对于表单提交有效,对于以json格式提交将会失效</p>
*
* @param e BindException异常信息
* @return 响应数据
*/
@ResponseStatus
(
HttpStatus
.
BAD_REQUEST
)
@ExceptionHandler
(
BindException
.
class
)
public
Result
<?>
bindExceptionHandler
(
BindException
e
)
{
String
msg
=
e
.
getBindingResult
().
getFieldErrors
()
.
stream
()
.
map
(
n
->
String
.
format
(
"%s: %s"
,
n
.
getField
(),
n
.
getDefaultMessage
()))
.
reduce
((
x
,
y
)
->
String
.
format
(
"%s; %s"
,
x
,
y
))
.
orElse
(
"参数输入有误"
);
log
.
error
(
"BindException异常,参数校验异常:{}"
,
msg
);
return
Result
.
error
(
msg
);
}
/**
* ConstraintViolationException-jsr规范中的验证异常,嵌套检验问题
* <p>ConstraintViolationException:作用于 @NotBlank @NotNull @NotEmpty 注解,校验单个String、Integer、Collection等参数异常处理。</p>
* <p>注:Controller类上必须添加@Validated注解,否则接口单个参数校验无效</p>
*
* @param e ConstraintViolationException异常信息
* @return 响应数据
*/
@ResponseStatus
(
HttpStatus
.
BAD_REQUEST
)
@ExceptionHandler
(
value
=
ConstraintViolationException
.
class
)
public
Result
<?>
constraintViolationExceptionHandler
(
ConstraintViolationException
e
)
{
String
msg
=
e
.
getConstraintViolations
()
.
stream
()
.
map
(
ConstraintViolation:
:
getMessage
)
.
collect
(
Collectors
.
joining
(
"; "
));
log
.
error
(
"ConstraintViolationException,参数校验异常:{}"
,
msg
);
return
Result
.
error
(
msg
);
}
@ExceptionHandler
(
value
=
Exception
.
class
)
@ResponseBody
public
Result
handleError
(
Exception
e
)
{
log
.
info
(
"系统错误:"
+
e
.
getMessage
());
e
.
printStackTrace
();
return
Result
.
error
();
}
}
arch-base/src/main/java/org/arch/utils/AesCipherUtil.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
utils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
javax.crypto.*
;
import
java.io.UnsupportedEncodingException
;
import
java.security.InvalidKeyException
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.SecureRandom
;
/**
* AES加密解密工具类
* @author dolyw.com
* @date 2018/8/31 16:39
*/
@Component
public
class
AesCipherUtil
{
/**
* AES密码加密私钥(Base64加密)
*/
private
static
String
encryptAESKey
;
// private static final byte[] KEY = { 1, 1, 33, 82, -32, -85, -128, -65 };
//@Value("${encryptAESKey}")
public
void
setEncryptAESKey
(
String
encryptAESKey
)
{
AesCipherUtil
.
encryptAESKey
=
encryptAESKey
;
}
/**
* logger
*/
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
AesCipherUtil
.
class
);
/**
* 加密
* @param str
* @return java.lang.String
* @author dolyw.com
* @date 2018/8/31 16:56
*/
public
static
String
enCrypto
(
String
str
)
{
try
{
// Security.addProvider(new com.sun.crypto.provider.SunJCE());
// 实例化支持AES算法的密钥生成器(算法名称命名需按规定,否则抛出异常)
// KeyGenerator 提供对称密钥生成器的功能,支持各种算法
KeyGenerator
keygen
=
KeyGenerator
.
getInstance
(
"AES"
);
// 将私钥encryptAESKey先Base64解密后转换为byte[]数组按128位初始化
SecureRandom
secureRandom
=
SecureRandom
.
getInstance
(
"SHA1PRNG"
);
secureRandom
.
setSeed
(
Base64ConvertUtil
.
decode
(
encryptAESKey
).
getBytes
());
keygen
.
init
(
128
,
secureRandom
);
// SecretKey 负责保存对称密钥 生成密钥
SecretKey
desKey
=
keygen
.
generateKey
();
// 生成Cipher对象,指定其支持的AES算法,Cipher负责完成加密或解密工作
Cipher
c
=
Cipher
.
getInstance
(
"AES"
);
// 根据密钥,对Cipher对象进行初始化,ENCRYPT_MODE表示加密模式
c
.
init
(
Cipher
.
ENCRYPT_MODE
,
desKey
);
byte
[]
src
=
str
.
getBytes
();
// 该字节数组负责保存加密的结果
byte
[]
cipherByte
=
c
.
doFinal
(
src
);
// 先将二进制转换成16进制,再返回Base64加密后的String
return
Base64ConvertUtil
.
encode
(
HexConvertUtil
.
parseByte2HexStr
(
cipherByte
));
}
catch
(
NoSuchAlgorithmException
|
NoSuchPaddingException
e
)
{
logger
.
error
(
"getInstance()方法异常:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"getInstance()方法异常:"
+
e
.
getMessage
());
}
catch
(
UnsupportedEncodingException
e
)
{
logger
.
error
(
"Base64加密异常:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"Base64加密异常:"
+
e
.
getMessage
());
}
catch
(
InvalidKeyException
e
)
{
logger
.
error
(
"初始化Cipher对象异常:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"初始化Cipher对象异常:"
+
e
.
getMessage
());
}
catch
(
IllegalBlockSizeException
|
BadPaddingException
e
)
{
logger
.
error
(
"加密异常,密钥有误:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"加密异常,密钥有误:"
+
e
.
getMessage
());
}
}
/**
* 解密
* @param str
* @return java.lang.String
* @author dolyw.com
* @date 2018/8/31 16:56
*/
public
static
String
deCrypto
(
String
str
)
{
try
{
// Security.addProvider(new com.sun.crypto.provider.SunJCE());
// 实例化支持AES算法的密钥生成器(算法名称命名需按规定,否则抛出异常)
// KeyGenerator 提供对称密钥生成器的功能,支持各种算法
KeyGenerator
keygen
=
KeyGenerator
.
getInstance
(
"AES"
);
// 将私钥encryptAESKey先Base64解密后转换为byte[]数组按128位初始化
SecureRandom
secureRandom
=
SecureRandom
.
getInstance
(
"SHA1PRNG"
);
secureRandom
.
setSeed
(
Base64ConvertUtil
.
decode
(
encryptAESKey
).
getBytes
());
keygen
.
init
(
128
,
secureRandom
);
// SecretKey 负责保存对称密钥 生成密钥
SecretKey
desKey
=
keygen
.
generateKey
();
// 生成Cipher对象,指定其支持的AES算法,Cipher负责完成加密或解密工作
Cipher
c
=
Cipher
.
getInstance
(
"AES"
);
// 根据密钥,对Cipher对象进行初始化,DECRYPT_MODE表示解密模式
c
.
init
(
Cipher
.
DECRYPT_MODE
,
desKey
);
// 该字节数组负责保存解密的结果,先对str进行Base64解密,将16进制转换为二进制
byte
[]
cipherByte
=
c
.
doFinal
(
HexConvertUtil
.
parseHexStr2Byte
(
Base64ConvertUtil
.
decode
(
str
)));
return
new
String
(
cipherByte
);
}
catch
(
NoSuchAlgorithmException
|
NoSuchPaddingException
e
)
{
logger
.
error
(
"getInstance()方法异常:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"getInstance()方法异常:"
+
e
.
getMessage
());
}
catch
(
UnsupportedEncodingException
e
)
{
logger
.
error
(
"Base64解密异常:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"Base64解密异常:"
+
e
.
getMessage
());
}
catch
(
InvalidKeyException
e
)
{
logger
.
error
(
"初始化Cipher对象异常:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"初始化Cipher对象异常:"
+
e
.
getMessage
());
}
catch
(
IllegalBlockSizeException
|
BadPaddingException
e
)
{
logger
.
error
(
"解密异常,密钥有误:{}"
,
e
.
getMessage
());
throw
new
RuntimeException
(
"解密异常,密钥有误:"
+
e
.
getMessage
());
}
}
}
arch-
gateway/src/main/java/org/arch/util
/Base64ConvertUtil.java
→
arch-
base/src/main/java/org/arch/utils
/Base64ConvertUtil.java
View file @
efeba8b
package
org
.
arch
.
util
;
package
org
.
arch
.
util
s
;
import
java.io.UnsupportedEncodingException
;
import
java.util.Base64
;
...
...
arch-base/src/main/java/org/arch/utils/HexConvertUtil.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
utils
;
/**
* 进制转换工具
* @author dolyw.com
* @date 2018/8/31 17:23
*/
public
class
HexConvertUtil
{
private
HexConvertUtil
()
{}
/**
* 1
*/
private
static
final
Integer
INTEGER_1
=
1
;
/**
* 2
*/
private
static
final
Integer
INTEGER_2
=
2
;
/**
* 将二进制转换成16进制
* @param bytes
* @return java.lang.String
* @author dolyw.com
* @date 2018/8/31 17:20
*/
public
static
String
parseByte2HexStr
(
byte
[]
bytes
)
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
byte
buff
:
bytes
)
{
String
hex
=
Integer
.
toHexString
(
buff
&
0xFF
);
if
(
hex
.
length
()
==
INTEGER_1
)
{
hex
=
'0'
+
hex
;
}
sb
.
append
(
hex
.
toUpperCase
());
}
return
sb
.
toString
();
}
/**
* 将16进制转换为二进制
* @param hexStr
* @return byte[]
* @author dolyw.com
* @date 2018/8/31 17:21
*/
public
static
byte
[]
parseHexStr2Byte
(
String
hexStr
)
{
if
(
hexStr
.
length
()
<
INTEGER_1
)
{
return
null
;
}
byte
[]
result
=
new
byte
[
hexStr
.
length
()
/
INTEGER_2
];
for
(
int
i
=
0
,
len
=
hexStr
.
length
()
/
INTEGER_2
;
i
<
len
;
i
++)
{
int
high
=
Integer
.
parseInt
(
hexStr
.
substring
(
i
*
2
,
i
*
2
+
1
),
16
);
int
low
=
Integer
.
parseInt
(
hexStr
.
substring
(
i
*
2
+
1
,
i
*
2
+
2
),
16
);
result
[
i
]
=
(
byte
)
(
high
*
16
+
low
);
}
return
result
;
}
}
arch-
gateway/src/main/java/org/arch/util
/JwtUtil.java
→
arch-
base/src/main/java/org/arch/utils
/JwtUtil.java
View file @
efeba8b
package
org
.
arch
.
util
;
package
org
.
arch
.
util
s
;
import
com.auth0.jwt.JWT
;
import
com.auth0.jwt.JWTVerifier
;
import
com.auth0.jwt.algorithms.Algorithm
;
import
com.auth0.jwt.exceptions.JWTDecodeException
;
import
com.auth0.jwt.interfaces.DecodedJWT
;
import
org.arch.exception.BDException
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.UnsupportedEncodingException
;
import
java.util.Date
;
import
static
org
.
springframework
.
web
.
context
.
request
.
RequestContextHolder
.
getRequestAttributes
;
/**
* JAVA-JWT工具类
* @author Wang926454
...
...
@@ -44,14 +41,7 @@ public class JwtUtil {
public
void
setAccessTokenExpireTime
(
String
accessTokenExpireTime
)
{
JwtUtil
.
accessTokenExpireTime
=
accessTokenExpireTime
;
}
public
static
HttpServletRequest
getRequest
()
{
// RequestAttributes requestAttributes = getRequestAttributes();
return
((
ServletRequestAttributes
)
getRequestAttributes
()).
getRequest
();
}
public
static
String
getToken
()
{
HttpServletRequest
request
=
getRequest
();
return
request
.
getHeader
(
"Authorization"
);
}
@Value
(
"${encryptJWTKey}"
)
public
void
setEncryptJWTKey
(
String
encryptJWTKey
)
{
JwtUtil
.
encryptJWTKey
=
encryptJWTKey
;
...
...
@@ -67,15 +57,14 @@ public class JwtUtil {
public
static
boolean
verify
(
String
token
)
{
try
{
// 帐号加JWT私钥解密
String
secret
=
getClaim
(
token
,
"account"
)
+
Base64ConvertUtil
.
decode
(
encryptJWTKey
);
String
secret
=
getClaim
(
token
,
Constant
.
ACCOUNT
)
+
Base64ConvertUtil
.
decode
(
encryptJWTKey
);
Algorithm
algorithm
=
Algorithm
.
HMAC256
(
secret
);
JWTVerifier
verifier
=
JWT
.
require
(
algorithm
).
build
();
verifier
.
verify
(
token
);
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
UnsupportedEncoding
Exception
e
)
{
logger
.
error
(
"JWTToken认证解密出现UnsupportedEncodingException异常:{}"
,
e
.
getMessage
());
return
false
;
// throw new RuntimeException("JWTToken认证解密出现UnsupportedEncodingException异常:" + e.getMessage());
throw
new
RuntimeException
(
"JWTToken认证解密出现UnsupportedEncodingException异常:"
+
e
.
getMessage
());
}
}
...
...
@@ -105,9 +94,9 @@ public class JwtUtil {
* @param currentTimeMillis
* @return
*/
public
static
String
sign
(
String
account
,
String
currentTimeMillis
)
throws
Exception
{
public
static
String
sign
(
String
account
,
String
currentTimeMillis
)
{
if
(
StringUtils
.
isBlank
(
account
)){
throw
new
Exception
(
"用户账户信息为空!"
);
throw
new
BD
Exception
(
"用户账户信息为空!"
);
}
try
{
// 帐号加JWT私钥加密
...
...
arch-base/src/main/java/org/arch/utils/RequestUtils.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
utils
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
* @author 29321
* @year 2020
*/
public
class
RequestUtils
{
public
static
HttpServletResponse
getResponse
()
{
ServletRequestAttributes
servletRequestAttributes
=
(
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
();
HttpServletResponse
response
=
servletRequestAttributes
.
getResponse
();
return
response
;
}
public
static
HttpServletRequest
getRequest
()
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
())
.
getRequest
();
return
request
;
}
/**
* @Description 获得头部
* @author Viven
*/
public
static
String
getHeader
(
HttpServletRequest
request
,
String
name
)
{
return
request
.
getHeader
(
name
);
}
/**
* 获得请求的头信息
*
* @return
*/
public
static
String
getAgent
(
HttpServletRequest
request
)
{
String
agent
=
request
.
getHeader
(
"User-Agent"
);
return
agent
;
}
/**
* 获取请求来的ip地址
*
* @param request
* @return
*/
public
static
String
getRemoteIp
(
HttpServletRequest
request
)
{
String
ip
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_CLIENT_IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_X_FORWARDED_FOR"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"X-Real-IP"
);
//nginx 服务器
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
if
(
ip
!=
null
&&
ip
.
length
()
>
15
)
{
if
(
ip
.
indexOf
(
","
)
>
0
)
{
ip
=
ip
.
substring
(
0
,
ip
.
indexOf
(
","
));
}
}
return
ip
;
}
}
arch-clouds/common/pom.xml
0 → 100644
View file @
efeba8b
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<groupId>
org.arch
</groupId>
<artifactId>
arch-clouds
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<name>
公共服务模块
</name>
<artifactId>
common
</artifactId>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
<maven.compiler.target>
8
</maven.compiler.target>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>
org.arch
</groupId>
<artifactId>
mybatis
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
arch-clouds/
mybatis/src/main/java/org/arch/common/entity
/BaseEntity.java
→
arch-clouds/
common/src/main/java/org/arch/common
/BaseEntity.java
View file @
efeba8b
package
org
.
arch
.
common
.
entity
;
package
org
.
arch
.
common
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
java.util.Date
;
...
...
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AdsParserContentDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.enums.ArchiPrjReviewEnum
;
import
java.util.List
;
@Data
@ApiModel
(
value
=
"goverAdsParserContentDTO对象"
,
description
=
"概设解析内容"
)
public
class
AdsParserContentDTO
{
/**
* 需求id
*/
@ApiModelProperty
(
value
=
"需求id"
)
private
Integer
needId
;
/**
* 需求名称
*/
@ApiModelProperty
(
value
=
"需求名称"
)
private
String
needName
;
/**
* 批次年度
*/
@ApiModelProperty
(
value
=
"批次年度"
)
private
String
year
;
/**
* 批次年度
*/
@ApiModelProperty
(
value
=
"批次年度"
)
private
String
buildtype
;
@ApiModelProperty
(
value
=
"技术路线表,架构遵从表,功能清单,数据实体清单,系统集成清单"
)
private
ArchiPrjReviewEnum
archiPrjReviewEnum
;
/**
* 书签集合
*/
@ApiModelProperty
(
value
=
"标签范围"
)
private
List
<
DocMarkTag
>
docMarkTag
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AppArchiConRequireDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
* 系统架构管控要求
* </p>
*
* @author java
* @since 2024-02-27
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@ApiModel
(
value
=
"AppArchiConRequireDTO对象"
,
description
=
"系统架构管控要求"
)
public
class
AppArchiConRequireDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"项目ID"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"项目编码"
)
private
String
prjCode
;
@ApiModelProperty
(
value
=
"项目名称"
)
private
String
prjName
;
@ApiModelProperty
(
value
=
"系统ID"
)
private
Long
appId
;
@ApiModelProperty
(
value
=
"系统编码"
)
private
String
appCode
;
@ApiModelProperty
(
value
=
"系统名称"
)
private
String
appName
;
@ApiModelProperty
(
value
=
"项目经理"
)
private
String
projectManager
;
@ApiModelProperty
(
value
=
"实际竣工时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
cmplDate
;
@ApiModelProperty
(
value
=
"项目性质,1:新建、2:续建"
)
private
Long
prjPlanClass
;
@ApiModelProperty
(
value
=
"建管单位"
)
private
Long
manageOrgId
;
@ApiModelProperty
(
value
=
"建管部门"
)
private
Long
manageDeptId
;
@ApiModelProperty
(
value
=
"建设类型"
)
private
Byte
buildType
;
@ApiModelProperty
(
value
=
"承建单位"
)
private
Byte
buildOrg
;
@ApiModelProperty
(
value
=
"前期项目ID"
)
private
Long
agoPrjId
;
@ApiModelProperty
(
value
=
"前期项目编码"
)
private
String
agoPrjCode
;
@ApiModelProperty
(
value
=
"前期项目名称"
)
private
String
agoPrjName
;
@ApiModelProperty
(
value
=
"开始时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
endTime
;
@ApiModelProperty
(
value
=
"JSON综合字段"
)
private
List
<
JSONObject
>
filesValue
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AppArchiConRequireReviewDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.enums.ArchiPrjReviewEnum
;
/**
* <p>
* 系统架构管控要求
* </p>
*
* @author java
* @since 2024-02-27
*/
@Data
@ApiModel
(
value
=
"AppArchiConRequireDTO对象"
,
description
=
"系统架构管控要求"
)
public
class
AppArchiConRequireReviewDTO
{
@ApiModelProperty
(
value
=
"审查类型"
)
private
ArchiPrjReviewEnum
reviewEnum
;
@ApiModelProperty
(
value
=
"项目Id"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"评审意见"
)
private
String
reviewSuggestion
;
@ApiModelProperty
(
value
=
"评审状态"
)
private
Integer
reviewState
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AppArchiPostilReqDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.enums.ArchiPrjReviewEnum
;
@Data
public
class
AppArchiPostilReqDTO
{
@ApiModelProperty
(
value
=
"项目Id"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"业务ID类型:1项目附件,2需求附件"
)
private
Long
busiIdType
;
@ApiModelProperty
(
value
=
"业务资料类型: 技术规范书\n"
+
"可行性研究报告\n"
+
"需求规格说明书\n"
+
"概要设计说明书\n"
+
"安全防护方案"
)
private
String
busiFileName
;
@ApiModelProperty
(
value
=
"当前页"
)
private
Integer
current
=
1
;
@ApiModelProperty
(
value
=
"每页显示条数"
)
private
Integer
pageSize
=
10
;
@ApiModelProperty
(
value
=
"审查类型"
)
private
ArchiPrjReviewEnum
reviewEnum
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/AppInfoDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
/**
* <p>
* 系统列表信息
* </p>
*
* @author java
* @since 2024-02-27
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@ApiModel
(
value
=
"AppInfo对象"
,
description
=
"系统信息传输对象"
)
public
class
AppInfoDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"系统应用ID"
)
private
Long
appId
;
@ApiModelProperty
(
value
=
"系统编码"
)
private
String
appCode
;
@ApiModelProperty
(
value
=
"系统名称"
)
private
String
appName
;
@ApiModelProperty
(
value
=
"上线时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
onlineDate
;
@ApiModelProperty
(
value
=
"项目名称"
)
private
String
projectName
;
@ApiModelProperty
(
value
=
"建管单位"
)
private
Long
manageOrgId
;
@ApiModelProperty
(
value
=
"建管部门"
)
private
Long
manageDeptId
;
@ApiModelProperty
(
value
=
"建管单位名称"
)
private
String
manageOrgName
;
@ApiModelProperty
(
value
=
"建管部门名称"
)
private
String
manageDeptName
;
@ApiModelProperty
(
value
=
"承建类型"
)
private
Byte
buildType
;
@ApiModelProperty
(
value
=
"承建单位"
)
private
Byte
buildOrg
;
@ApiModelProperty
(
value
=
"承建单位名称"
)
private
String
buildOrgName
;
@ApiModelProperty
(
value
=
"项目经理"
)
private
String
projectManager
;
@ApiModelProperty
(
value
=
"前期项目"
)
private
Long
orignProjectId
;
@ApiModelProperty
(
value
=
"关联系统"
)
private
Long
relationAppId
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityAssetsDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"中台服务清单请求参数"
,
description
=
"中台服务清单请求参数"
)
public
class
ArchiAbilityAssetsDTO
{
@ApiModelProperty
(
value
=
"服务清单ID"
)
// @TableId(value = "inventory_id", type = IdType.INPUT)
private
Long
inventoryId
;
@ApiModelProperty
(
value
=
"中台服务编码"
)
private
String
abilityCode
;
@ApiModelProperty
(
value
=
"中台服务名称"
)
private
String
abilityName
;
@ApiModelProperty
(
value
=
"架构资产ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"架构资产编码"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"架构资产名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"架构类型Id"
)
private
String
archiTypeId
;
@ApiModelProperty
(
value
=
"架构类型"
)
private
String
archiType
;
@ApiModelProperty
(
value
=
"资产的父级节点串"
)
private
String
parentAssetIds
;
@ApiModelProperty
(
value
=
"资产的父级节点名称串"
)
private
String
parentAssetNames
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityAssetsQryReqDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"中台服务清单关联资产表请求参数"
,
description
=
"中台服务清单关联资产表请求参数"
)
public
class
ArchiAbilityAssetsQryReqDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"服务清单ID"
)
private
Long
inventoryId
;
@ApiModelProperty
(
value
=
"架构类型Id"
)
private
String
archiTypeId
;
@ApiModelProperty
(
value
=
"架构类型"
)
private
String
archiType
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityAssetsReqDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
import
java.util.List
;
@Data
@ApiModel
(
value
=
"中台服务清单关联资产表请求参数"
,
description
=
"中台服务清单关联资产表请求参数"
)
public
class
ArchiAbilityAssetsReqDTO
{
List
<
ArchiAbilityAssetsDTO
>
assetsDTOS
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInveStatReqDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.enums.ArchiAbilityInventoryEnum
;
@Data
@ApiModel
(
value
=
"中台服务清单根据指标下钻资产列表"
,
description
=
"中台服务清单根据指标下钻资产列表"
)
public
class
ArchiAbilityInveStatReqDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"资源类型 1 中台服务清单 2 业务信息 3 应用服务信息 4 数据实体信息 5 技术组件信息"
)
private
String
abilitySource
;
@ApiModelProperty
(
value
=
"服务清单ID"
)
private
Long
inventoryId
;
@ApiModelProperty
(
value
=
"架构类型Id"
)
private
String
archiTypeId
;
@ApiModelProperty
(
value
=
"架构类型"
)
private
String
archiType
;
@ApiModelProperty
(
value
=
"指标统计有关的枚举类"
)
private
ArchiAbilityInventoryEnum
inventoryEnum
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInveStatResDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
@ApiModel
(
value
=
"中台服务清单根据指标下钻动态表格"
,
description
=
"中台服务清单根据指标下钻动态表格"
)
@Data
public
class
ArchiAbilityInveStatResDTO
{
@ApiModelProperty
(
value
=
"列表表格表头"
)
private
ArrayList
<
String
>
titleList
;
// @ApiModelProperty(value = "列表数据")
// private ArrayList<ArrayList<String>> dataList;
@ApiModelProperty
(
value
=
"列表数据"
)
private
ArrayList
<
LinkedHashMap
<
String
,
Object
>>
dataList
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryAppDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"应用服务信息请求参数"
,
description
=
"应用服务信息请求参数"
)
public
class
ArchiAbilityInventoryAppDTO
extends
BasePageEntity
{
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryBusDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"业务信息请求参数"
,
description
=
"业务信息请求参数"
)
public
class
ArchiAbilityInventoryBusDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"中台服务名称"
)
private
String
abilityName
;
@ApiModelProperty
(
value
=
"资源类型 1 中台服务清单 2 业务信息 3 应用服务信息 4 数据实体信息 5 技术组件信息"
)
private
String
abilitySource
;
@ApiModelProperty
(
value
=
"业务活动名称"
)
private
String
businessActName
;
@ApiModelProperty
(
value
=
"统计时间"
)
private
String
statTime
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
/**
* <p>
* 能力清单
* </p>
*
* @author author
* @since 2024-01-11
*/
@Data
@ApiModel
(
value
=
"能力清单"
,
description
=
"能力清单传输对象"
)
public
class
ArchiAbilityInventoryDTO
{
@ApiModelProperty
(
value
=
"当前页"
)
private
Integer
current
;
@ApiModelProperty
(
value
=
"每页显示条数"
)
private
Integer
pageSize
;
@ApiModelProperty
(
value
=
"总条数"
)
private
Integer
total
;
@ApiModelProperty
(
value
=
"能力清单ID"
)
private
Long
inventoryId
;
@ApiModelProperty
(
value
=
"资源名称"
)
private
String
inventoryName
;
@ApiModelProperty
(
value
=
"能力来源"
)
private
String
abilitySource
;
@ApiModelProperty
(
value
=
"资源类型(1:业务中台服务能力,2:数据中台资源目录,3:数据中台资源服务,4:技术中台公共技术能力)"
)
private
String
abilityType
;
@ApiModelProperty
(
value
=
"所属部门id"
)
private
Integer
departId
;
@ApiModelProperty
(
value
=
"部门名称"
)
private
String
departName
;
@ApiModelProperty
(
value
=
"单位id"
)
private
Integer
compId
;
@ApiModelProperty
(
value
=
"单位名称"
)
private
String
compName
;
@ApiModelProperty
(
value
=
"发布时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
publishTime
;
@ApiModelProperty
(
value
=
"简介"
)
private
String
description
;
@ApiModelProperty
(
value
=
"版本"
)
private
String
inventoryVersion
;
@ApiModelProperty
(
value
=
"是否权威数据(0:否;1:是)"
)
private
String
isAuthority
;
@ApiModelProperty
(
value
=
"是否盘点数据(0:否;1:是)"
)
private
String
isInventory
;
@ApiModelProperty
(
value
=
"数据来源方式(1:接口传递;2:人工录入)"
)
private
String
sourceType
;
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"是否删除(0:未删除;1:已删除)"
)
private
Byte
delFlag
;
@ApiModelProperty
(
value
=
"平台来源"
)
private
String
platformSource
;
@ApiModelProperty
(
value
=
"服务类型"
)
private
Integer
serveType
;
@ApiModelProperty
(
value
=
"服务状态"
)
private
Integer
serveState
;
@ApiModelProperty
(
value
=
"服务描述"
)
private
String
serveRemark
;
@ApiModelProperty
(
value
=
"模块"
)
private
String
module
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"中台服务编码"
)
// @TableField(exist = false)
private
String
abilityCode
;
@ApiModelProperty
(
value
=
"中台服务名称"
)
// @TableField(exist = false)
private
String
abilityName
;
@ApiModelProperty
(
value
=
"中台类型id"
)
// @TableField(exist = false)
private
Integer
midGroundId
;
@ApiModelProperty
(
value
=
"中台类型名称"
)
// @TableField(exist = false)
private
String
midGroundName
;
@ApiModelProperty
(
value
=
"中台名称id"
)
// @TableField(exist = false)
private
Integer
midPlatformId
;
@ApiModelProperty
(
value
=
"中台名称"
)
// @TableField(exist = false)
private
String
midPlatformName
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryDataDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
@ApiModel
(
value
=
"数据实体信息请求参数"
,
description
=
"数据实体信息请求参数"
)
public
class
ArchiAbilityInventoryDataDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"中台服务名称"
)
private
String
abilityName
;
@ApiModelProperty
(
value
=
"统计时间"
)
private
String
statTime
;
@ApiModelProperty
(
value
=
"中台类型"
)
private
String
midGroundType
;
@ApiModelProperty
(
value
=
"中台名称"
)
private
String
midGroundName
;
@ApiModelProperty
(
value
=
"资产ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"服务编码"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"资产名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"架构类型(1 业务架构、2 应用架构、3 数据架构、4 技术架构、5 安全架构)"
)
private
Integer
archiTypeId
;
@ApiModelProperty
(
value
=
"统计类型(1:服务清单关联统计;2:业务关联统计;3:应用关联统计;4:数据实体关联统计;5:技术组件关联统计)"
)
private
Integer
statType
;
@ApiModelProperty
(
value
=
"分层统计(如果没有多层统计,关键字统计字段为空)"
)
private
Integer
statKey
;
@ApiModelProperty
(
value
=
"开始时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
endTime
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryReqDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
@ApiModel
(
value
=
"中台服务清单请求参数"
,
description
=
"中台服务清单请求参数"
)
public
class
ArchiAbilityInventoryReqDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"中台服务清单id"
)
private
Long
inventoryId
;
@ApiModelProperty
(
value
=
"中台服务名称"
)
private
String
abilityName
;
@ApiModelProperty
(
value
=
"资源类型 1 中台服务清单 2 业务信息 3 应用服务信息 4 数据实体信息 5 技术组件信息"
)
private
String
abilitySource
;
@ApiModelProperty
(
value
=
"中台类型id"
)
// @TableField(exist = false)
private
String
midGroundId
;
@ApiModelProperty
(
value
=
"中台类型名称"
)
// @TableField(exist = false)
private
String
midGroundName
;
@ApiModelProperty
(
value
=
"中台名称id"
)
// @TableField(exist = false)
private
String
midPlatformId
;
@ApiModelProperty
(
value
=
"中台名称"
)
// @TableField(exist = false)
private
String
midPlatformName
;
@ApiModelProperty
(
value
=
"统计时间"
)
private
String
statTime
;
@ApiModelProperty
(
value
=
"发布时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
publishTime
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryResDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
@ApiModel
(
value
=
"能力清单"
,
description
=
"能力清单传输对象"
)
public
class
ArchiAbilityInventoryResDTO
{
@ApiModelProperty
(
value
=
"中台服务编码"
)
private
String
abilityCode
;
@ApiModelProperty
(
value
=
"中台服务名称"
)
private
String
abilityName
;
@ApiModelProperty
(
value
=
"服务类型 :1聚合服务,2规则服务,3数据服务,4原子服务"
)
private
String
serveType
;
@ApiModelProperty
(
value
=
"模块"
)
private
String
module
;
@ApiModelProperty
(
value
=
"中台类型"
)
private
String
midGroundType
;
@ApiModelProperty
(
value
=
"中台名称"
)
private
String
midGroundName
;
@ApiModelProperty
(
value
=
"服务调用频率"
)
private
Integer
serviceInvFreq
;
@ApiModelProperty
(
value
=
"服务调用方数量"
)
private
Integer
serviceInvNum
;
@ApiModelProperty
(
value
=
"操作实体数量"
)
private
Integer
oprEntityNum
;
@ApiModelProperty
(
value
=
"支撑技术组件数量"
)
private
Integer
supportTecModNum
;
@ApiModelProperty
(
value
=
"支撑的业务活动数量"
)
private
Integer
suppportBusActNum
;
@ApiModelProperty
(
value
=
"关联的中台服务数量"
)
private
Integer
relMidServiceNum
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"发布时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
publishTime
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAbilityInventoryTecDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"技术组件信息请求参数"
,
description
=
"技术组件信息请求参数"
)
public
class
ArchiAbilityInventoryTecDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"中台服务名称"
)
private
String
abilityName
;
@ApiModelProperty
(
value
=
"资源类型 1 中台服务清单 2 业务信息 3 应用服务信息 4 数据实体信息 5 技术组件信息"
)
private
String
abilitySource
;
@ApiModelProperty
(
value
=
"业务活动名称"
)
private
String
businessActName
;
@ApiModelProperty
(
value
=
"统计时间"
)
private
String
statTime
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetCommonDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
* 资产架构
* </p>
*
* @author author
* @since 2024-01-09
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@ApiModel
(
value
=
"资产架构"
,
description
=
"资产架构传输对象"
)
public
class
ArchiAssetCommonDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"当前页"
)
private
Integer
current
;
@ApiModelProperty
(
value
=
"每页显示条数"
)
private
Integer
pageSize
;
@ApiModelProperty
(
value
=
"总条数"
)
private
Integer
total
;
@ApiModelProperty
(
value
=
"架构组件ID"
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"架构组件名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"资产编码,采用8位阶梯设计编码,通过编码识别层级"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"上级架构组件ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
parentAssetId
;
@ApiModelProperty
(
value
=
"上级架构组件名称"
)
private
String
parentAssetName
;
@ApiModelProperty
(
value
=
"父级编码"
)
private
String
parentCode
;
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
@ApiModelProperty
(
value
=
"架构元素Id"
)
private
Long
archiEleId
;
@ApiModelProperty
(
value
=
"架构类型"
)
private
String
archiType
;
@ApiModelProperty
(
value
=
"架构归属"
)
private
Byte
archiBelongId
;
@ApiModelProperty
(
value
=
"架构资产状态(字典中读取,1:现状态;2:目标态)"
)
private
Byte
archiAssetState
;
@ApiModelProperty
(
value
=
"架构资产类型(架构视图、架构演进路线、业务活动资产等),必传"
)
private
Byte
archiAssetType
;
@ApiModelProperty
(
value
=
"架构阶段(1:总体架构;2:系统架构),必传"
)
private
Integer
archiStage
;
@ApiModelProperty
(
value
=
"架构资产类型关联的ID,目前架构视图关联archi_view表,必传"
)
private
Long
archiAssetTypeId
;
@ApiModelProperty
(
value
=
"关联资产,实际用作兄弟关系连线,可支持多个target"
)
private
List
<
JSONObject
>
targetAsset
;
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"JSON综合字段;将架构元素的属性和值利用Json数据存储"
)
private
List
<
JSONObject
>
fieldsValue
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column01
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column02
;
@ApiModelProperty
(
value
=
"组件类型名称"
)
private
String
eleName
;
@ApiModelProperty
(
value
=
"旧版本ID"
)
private
Long
orignVersionId
;
@ApiModelProperty
(
value
=
"排序"
)
private
Integer
sort
;
@ApiModelProperty
(
value
=
"是否首页展示 0 展示 1 不展示"
)
private
Byte
isShow
;
@ApiModelProperty
(
value
=
"原架构ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
orignAssetId
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
private
Integer
delFlag
;
@ApiModelProperty
(
value
=
"资产常量,必传。"
)
private
String
assetConstant
;
@ApiModelProperty
(
value
=
"版本"
)
private
String
version
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"元素id集合"
)
private
List
<
Long
>
eleIdList
;
@ApiModelProperty
(
value
=
"架构视图 ID"
)
private
Long
archiViewId
;
@ApiModelProperty
(
value
=
"承建类型:1统推,2自建"
)
private
Integer
buildType
;
@ApiModelProperty
(
value
=
"是否继承:1是,2否"
)
private
Integer
isExtend
;
@ApiModelProperty
(
value
=
"项目ID"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"项目编码"
)
private
String
prjCode
;
@ApiModelProperty
(
value
=
"项目名称"
)
private
String
prjName
;
@ApiModelProperty
(
value
=
"系统ID"
)
private
Long
appId
;
@ApiModelProperty
(
value
=
"系统编码"
)
private
String
appCode
;
@ApiModelProperty
(
value
=
"系统名称"
)
private
String
appName
;
@ApiModelProperty
(
value
=
"资产id集合"
)
private
List
<
Long
>
assetIdList
;
@ApiModelProperty
(
value
=
"继承集合"
)
private
List
<
ArchiAssetExtendDTO
>
extend
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.enums.ArchiAssetEnum
;
/**
* 资产DTO
*
* @author admin
* @date 2024/02/21
*/
@Data
@ApiModel
(
value
=
"资产"
)
public
class
ArchiAssetDTO
{
@ApiModelProperty
(
"资产ID"
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"资产类型"
)
private
ArchiAssetEnum
assetEnum
;
@ApiModelProperty
(
value
=
"资产名称"
)
private
String
assetName
;
@ApiModelProperty
(
"版本ID"
)
private
Long
versionId
;
@ApiModelProperty
(
"架构归属"
)
private
String
assertType
;
@ApiModelProperty
(
"架构归属ID"
)
private
Long
archiBelongId
;
@ApiModelProperty
(
value
=
"架构资产状态(字典中读取,1:现状态;2:目标态)"
)
private
Integer
archiAssetState
;
@ApiModelProperty
(
"父资产ID"
)
private
Long
parentAssetId
;
@ApiModelProperty
(
"深度"
)
private
Integer
deep
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetEleRelaAddAndUpdateDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
org.arch.common.BaseEntity
;
import
javax.validation.constraints.NotNull
;
/**
* 架构资产关系
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"架构资产关系"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ArchiAssetEleRelaAddAndUpdateDTO
extends
BaseEntity
{
/**
* 主键
*/
@ApiModelProperty
(
value
=
"主键"
)
private
Long
assetRelaId
;
/**
* 资产关系名称
*/
@ApiModelProperty
(
value
=
"资产关系名称"
)
private
String
rsName
;
/**
* 元素 ID
*/
@ApiModelProperty
(
value
=
"元素 ID"
)
@NotNull
(
message
=
"元素 ID不能为空"
)
private
Long
eleId
;
/**
* 元素编码
*/
@ApiModelProperty
(
value
=
"元素编码"
)
private
String
eleCode
;
/**
* 元素名称
*/
@ApiModelProperty
(
value
=
"元素名称"
)
private
String
eleName
;
/**
* 关联元素 ID
*/
@ApiModelProperty
(
value
=
"关联元素 ID"
)
@NotNull
(
message
=
"关联元素 ID不能为空"
)
private
Long
relaEleId
;
/**
* 关联元素编码
*/
@ApiModelProperty
(
value
=
"关联元素编码"
)
private
String
relaEleCode
;
/**
* 关联元素名称
*/
@ApiModelProperty
(
value
=
"关联元素名称"
)
private
String
relaEleName
;
/**
* 是否跨架构(1:是 0:否)
*/
@ApiModelProperty
(
value
=
"是否跨架构(1:是 0:否)"
)
private
Byte
across
;
/**
* 图标ID
*/
@ApiModelProperty
(
value
=
"图标ID"
)
@NotNull
(
message
=
"图标ID不能为空"
)
private
String
iconId
;
/**
* 遵从元素关系,元素关系 ID
*/
@ApiModelProperty
(
value
=
"遵从元素关系,元素关系 ID"
)
@NotNull
(
message
=
"遵从元素关系,元素关系 ID不能为空"
)
private
Long
eleRelaId
;
@ApiModelProperty
(
value
=
"版本"
)
private
String
version
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
}
\ No newline at end of file
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetEleRelaQueryDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
/**
* 架构资产关系
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"架构资产关系"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ArchiAssetEleRelaQueryDTO
extends
BasePageEntity
{
/**
* 主键
*/
@ApiModelProperty
(
value
=
"主键"
)
private
Long
assetRelaId
;
/**
* 资产关系名称
*/
@ApiModelProperty
(
value
=
"资产关系名称"
)
private
String
rsName
;
/**
* 元素 ID
*/
@ApiModelProperty
(
value
=
"元素 ID"
)
private
Long
eleId
;
/**
* 元素编码
*/
@ApiModelProperty
(
value
=
"元素编码"
)
private
String
eleCode
;
/**
* 元素名称
*/
@ApiModelProperty
(
value
=
"元素名称"
)
private
String
eleName
;
/**
* 关联元素 ID
*/
@ApiModelProperty
(
value
=
"关联元素 ID"
)
private
Long
relaEleId
;
/**
* 关联元素编码
*/
@ApiModelProperty
(
value
=
"关联元素编码"
)
private
String
relaEleCode
;
/**
* 关联元素名称
*/
@ApiModelProperty
(
value
=
"关联元素名称"
)
private
String
relaEleName
;
/**
* 是否跨架构(1:是 0:否)
*/
@ApiModelProperty
(
value
=
"是否跨架构(1:是 0:否)"
)
private
Byte
across
;
/**
* 图标ID
*/
@ApiModelProperty
(
value
=
"图标ID"
)
private
String
iconId
;
/**
* 遵从元素关系,元素关系 ID
*/
@ApiModelProperty
(
value
=
"遵从元素关系,元素关系 ID"
)
private
Long
eleRelaId
;
}
\ No newline at end of file
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetEvolutionRoadmapDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
/**
* <p>
* 架构演进路线资产
* </p>
*
* @author java
* @since 2024-02-19
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@ApiModel
(
value
=
"ArchiAssetEvolutionRoadmap对象"
,
description
=
"架构演进路线资产传输对象"
)
public
class
ArchiAssetEvolutionRoadmapDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"架构演进路线资产ID"
)
private
Long
evolutionId
;
@ApiModelProperty
(
value
=
"演进编码"
)
private
String
evolutionCode
;
@ApiModelProperty
(
value
=
"演进项"
)
private
Integer
evolutionItem
;
@ApiModelProperty
(
value
=
"演进类型:1:演进策略 2:演进路线"
)
private
Integer
evolutionType
;
@ApiModelProperty
(
value
=
"现状架构"
)
private
String
nowArchi
;
@ApiModelProperty
(
value
=
"目标架构"
)
private
String
targetArchi
;
@ApiModelProperty
(
value
=
"演进描述"
)
private
String
evolutionContent
;
@ApiModelProperty
(
value
=
"状态: 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"删除标记(0:未删除;1:删除)"
)
private
Integer
delFlag
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetExtendDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* <p>
* 资产架构
* </p>
*
* @author author
* @since 2024-01-09
*/
@Data
@ApiModel
(
value
=
"资产架构"
,
description
=
"系统资产架构继承对象"
)
public
class
ArchiAssetExtendDTO
implements
Serializable
{
@ApiModelProperty
(
value
=
"资产id集合"
)
private
List
<
Long
>
assetIdList
;
@ApiModelProperty
(
value
=
"架构归属ID"
)
private
String
archiBelongId
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetFrameworkDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
public
class
ArchiAssetFrameworkDTO
{
@ApiModelProperty
(
value
=
"架构组件ID"
)
@TableId
(
value
=
"asset_id"
,
type
=
IdType
.
AUTO
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"架构组件名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"资产编码,采用8位阶梯设计编码,通过编码识别层级"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"上级架构组件ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
parentAssetId
;
@ApiModelProperty
(
value
=
"上级架构组件名称"
)
private
String
parentAssetName
;
@ApiModelProperty
(
value
=
"父级编码"
)
private
String
parentCode
;
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
@ApiModelProperty
(
value
=
"架构元素Id"
)
private
Long
archiEleId
;
@ApiModelProperty
(
value
=
"架构类型"
)
private
String
archiType
;
@ApiModelProperty
(
value
=
"架构归属"
)
private
Byte
archiBelongId
;
@ApiModelProperty
(
value
=
"架构资产状态(字典中读取,1:现状态;2:目标态)"
)
private
Byte
archiAssetState
;
@ApiModelProperty
(
value
=
"架构资产类型(架构视图、架构演进路线、业务活动资产等)"
)
private
Byte
archiAssetType
;
@ApiModelProperty
(
value
=
"架构资产类型关联的ID,目前架构视图关联archi_view表"
)
private
Long
archiAssetTypeId
;
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"JSON综合字段;将架构元素的属性和值利用Json数据存储"
)
private
String
fieldsValue
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column01
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column02
;
@ApiModelProperty
(
value
=
"旧版本ID"
)
private
Long
orignVersionId
;
@ApiModelProperty
(
value
=
"排序"
)
private
Integer
sort
;
@ApiModelProperty
(
value
=
"是否首页展示 0 展示 1 不展示"
)
private
Byte
isShow
;
@ApiModelProperty
(
value
=
"原架构ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
orignAssetId
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
private
Integer
delFlag
;
@ApiModelProperty
(
value
=
"资产常量,必传。"
)
@TableField
(
exist
=
false
)
private
String
assetConstant
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetInfoDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
* 资产架构
* </p>
*
* @author author
* @since 2024-01-09
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@ApiModel
(
value
=
"资产架构"
,
description
=
"资产架构传输对象"
)
public
class
ArchiAssetInfoDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"总条数"
)
private
Integer
total
;
@ApiModelProperty
(
value
=
"架构组件ID"
)
@TableId
(
value
=
"asset_id"
,
type
=
IdType
.
AUTO
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"架构组件名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"资产编码,采用8位阶梯设计编码,通过编码识别层级"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"上级架构组件ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
parentAssetId
;
@ApiModelProperty
(
value
=
"上级架构组件名称"
)
private
String
parentAssetName
;
@ApiModelProperty
(
value
=
"父级编码"
)
private
String
parentCode
;
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
@ApiModelProperty
(
value
=
"架构元素Id"
)
private
Long
archiEleId
;
@ApiModelProperty
(
value
=
"架构类型"
)
private
String
archiType
;
@ApiModelProperty
(
value
=
"架构归属"
)
private
Long
archiBelongId
;
@ApiModelProperty
(
value
=
"架构资产状态(字典中读取,1:现状态;2:目标态)"
)
private
Integer
archiAssetState
;
@ApiModelProperty
(
value
=
"架构资产类型(架构视图、架构演进路线、业务活动资产等),必传"
)
private
Byte
archiAssetType
;
@ApiModelProperty
(
value
=
"架构阶段(1:总体架构;2:系统架构),必传"
)
private
Integer
archiStage
;
@ApiModelProperty
(
value
=
"架构资产类型关联的ID,目前架构视图关联archi_view表,必传"
)
private
Long
archiAssetTypeId
;
@ApiModelProperty
(
value
=
"关联资产,实际用作兄弟关系连线,可支持多个target"
)
private
List
<
JSONObject
>
targetAsset
;
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"JSON综合字段;将架构元素的属性和值利用Json数据存储"
)
private
List
<
JSONObject
>
fieldsValue
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column01
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column02
;
@ApiModelProperty
(
value
=
"组件类型名称"
)
private
String
eleName
;
@ApiModelProperty
(
value
=
"旧版本ID"
)
private
Long
orignVersionId
;
@ApiModelProperty
(
value
=
"排序"
)
private
Integer
sort
;
@ApiModelProperty
(
value
=
"是否首页展示 0 展示 1 不展示"
)
private
Byte
isShow
;
@ApiModelProperty
(
value
=
"原架构ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
orignAssetId
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
private
Integer
delFlag
;
@ApiModelProperty
(
value
=
"资产常量,必传。"
)
@TableField
(
exist
=
false
)
private
String
assetConstant
;
@ApiModelProperty
(
value
=
"版本"
)
private
String
version
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"元素id集合"
)
private
List
<
Long
>
eleIdList
;
@ApiModelProperty
(
value
=
"架构视图 ID"
)
@TableField
(
exist
=
false
)
private
Long
archiViewId
;
@ApiModelProperty
(
value
=
"承建类型:1统推,2自建"
)
@TableField
(
"build_type"
)
private
Integer
buildType
;
@ApiModelProperty
(
value
=
"来源:0系统资产,1总体资产,2概设关联业务管理同步更新"
)
private
Integer
isExtend
;
@ApiModelProperty
(
value
=
"项目ID"
)
@TableField
(
exist
=
false
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"项目编码"
)
@TableField
(
exist
=
false
)
private
String
prjCode
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
exist
=
false
)
private
String
prjName
;
@ApiModelProperty
(
value
=
"系统ID"
)
@TableField
(
exist
=
false
)
private
Long
appId
;
@ApiModelProperty
(
value
=
"系统编码"
)
@TableField
(
exist
=
false
)
private
String
appCode
;
@ApiModelProperty
(
value
=
"系统名称"
)
@TableField
(
exist
=
false
)
private
String
appName
;
@ApiModelProperty
(
value
=
"资产id集合"
)
private
List
<
Long
>
assetIdList
;
@ApiModelProperty
(
value
=
"继承集合"
)
private
List
<
ArchiAssetExtendDTO
>
extend
;
@ApiModelProperty
(
value
=
"图标"
)
private
String
icon
;
@ApiModelProperty
(
value
=
"图形名称"
)
private
String
iconName
;
@ApiModelProperty
(
value
=
"颜色"
)
private
String
color
;
@ApiModelProperty
(
value
=
"图形库ID"
)
private
Long
graphId
;
@ApiModelProperty
(
value
=
"上级元素名称"
)
private
List
<
String
>
parentElement
;
@ApiModelProperty
(
value
=
"资产编号"
)
private
String
assetNumber
;
@ApiModelProperty
(
value
=
"上级资产"
)
private
List
<
String
>
parentAsset
;
/**
* 限制
*/
@ApiModelProperty
(
value
=
"限制"
)
private
Long
limit
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetNowDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* 资产DTO
*
* @author admin
* @date 2024/02/21
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"资产"
)
public
class
ArchiAssetNowDTO
extends
BasePageEntity
{
@ApiModelProperty
(
"资产ID"
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"资产名称"
)
private
String
assetName
;
@ApiModelProperty
(
"架构归属"
)
private
String
assertType
;
@ApiModelProperty
(
"架构归属ID"
)
private
Long
archiBelongId
;
@ApiModelProperty
(
value
=
"上级架构组件ID"
)
private
Long
parentAssetId
;
@ApiModelProperty
(
value
=
"上级架构组件名称"
)
private
String
parentAssetName
;
@ApiModelProperty
(
value
=
"所属元素"
)
private
String
eleName
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"架构阶段(1:总体架构;2:系统架构),必传"
)
private
Integer
archiStage
;
@ApiModelProperty
(
value
=
"架构资产状态(字典中读取,1:现状态;2:目标态)"
)
private
Integer
archiAssetState
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetVisalDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"资产可视化面板请求参数"
)
public
class
ArchiAssetVisalDTO
{
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetsRelationDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
/**
* 设计态-架构关系
*
* @author makejava
* @since 2024-04-29 14:27:35
*/
@ApiModel
(
description
=
"设计态-架构关系"
)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
public
class
ArchiAssetsRelationDTO
{
/**
* 编号
*/
@ApiModelProperty
(
"主键"
)
private
Long
relaId
;
/**
* 架构组件ID
*/
@ApiModelProperty
(
"资产ID"
)
@NotNull
(
message
=
"资产ID不能为空"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
/**
* 资产编码
*/
@ApiModelProperty
(
"资产编码"
)
private
String
assetCode
;
/**
* 资产名称
*/
@ApiModelProperty
(
"资产名称"
)
private
String
assetName
;
/**
* 关联资产ID
*/
@ApiModelProperty
(
"关联资产ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
@NotNull
(
message
=
"关联资产ID不能为空"
)
private
Long
relaAssetId
;
/**
* 关联资产编码
*/
@ApiModelProperty
(
"关联资产编码"
)
private
String
relaAssetCode
;
/**
* 关联资产名称
*/
@ApiModelProperty
(
"关联资产名称"
)
private
String
relaAssetName
;
/**
* 资产的父级节点串
*/
@ApiModelProperty
(
"资产的父级节点串"
)
// @NotBlank(message = "资产的父级节点串不能为空")
private
String
parentAssetIds
;
/**
* 资产的父级节点名称
*/
@ApiModelProperty
(
"资产的父级节点名称"
)
// @NotBlank(message = "资产的父级节点名称不能为空")
private
String
parentAssetNames
;
/**
* 元素关系ID
*/
@ApiModelProperty
(
"元素关系ID"
)
private
Long
eleRelaId
;
/**
* 架构元素关系ID
*/
@ApiModelProperty
(
value
=
"主键"
)
@NotNull
(
message
=
"架构元素关系ID不能为空"
)
private
Long
assetRelaId
;
/**
* 状态 0:已停用 1:已发布 2:暂存
*/
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
/**
* 图标ID
*/
@ApiModelProperty
(
value
=
"图标ID"
)
@NotNull
(
message
=
"图标ID不能为空"
)
private
String
iconId
;
@ApiModelProperty
(
value
=
"JSON综合字段;将架构元素的属性和值利用Json数据存储"
)
private
String
fieldsValue
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiAssetsRelationQueryDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
/**
* 设计态-架构关系
*
* @author makejava
* @since 2024-04-29 14:27:35
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"设计态-架构关系"
)
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
public
class
ArchiAssetsRelationQueryDTO
extends
BasePageEntity
{
/**
* 编号
*/
@ApiModelProperty
(
value
=
"编号(主键)"
)
private
Long
relaId
;
/**
* 资产名称
*/
@ApiModelProperty
(
"资产名称"
)
private
String
assetName
;
/**
* 关联资产名称
*/
@ApiModelProperty
(
"关联资产名称"
)
private
String
relaAssetName
;
/**
* 元素关系ID
*/
@ApiModelProperty
(
"元素关系ID"
)
private
Long
eleRelaId
;
/**
* 元素关系名称
*/
@ApiModelProperty
(
"元素关系名称"
)
private
String
rcName
;
/**
* 状态 0:已停用 1:已发布 2:暂存
*/
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
/**
* 元素关系 ID
*/
@ApiModelProperty
(
value
=
"元素关系 ID"
)
private
Long
assetRelaId
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiCommonDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
lombok.Data
;
@Data
public
class
ArchiCommonDTO
{
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
private
String
assetName
;
private
String
assetCode
;
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
parentAssetId
;
private
String
parentAssetName
;
private
String
parentCode
;
/**
* JSON字段
*/
private
Object
fieldsValue
;
}
arch-
base/src/main/java/org/arch/modules
/archoverall/dto/ArchiElePropertyDTO.java
→
arch-
clouds/common/src/main/java/org/arch/common
/archoverall/dto/ArchiElePropertyDTO.java
View file @
efeba8b
package
org
.
arch
.
modules
.
archoverall
.
dto
;
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiEleRelaConstrainDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* 元素关系的约束条件
*/
@ApiModel
(
description
=
"元素关系的约束条件"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ArchiEleRelaConstrainDTO
{
/**
* 对象1
*/
@ApiModelProperty
(
value
=
"对象1"
,
required
=
true
)
private
Long
eleGtId
;
/**
* 对象2
*/
@ApiModelProperty
(
value
=
"对象2"
,
required
=
true
)
private
Long
eleLtId
;
/**
* 适用范围
*/
@ApiModelProperty
(
value
=
"适用范围 1:业务架构 2:应用架构 3:数据架构 4:技术架构 5:安全架构 0:架构之间"
,
required
=
true
)
private
Integer
scope
;
/**
* 对象名称1
*/
@ApiModelProperty
(
value
=
"对象名称1"
)
private
String
eleGtName
;
/**
* 对象名称2
*/
@ApiModelProperty
(
value
=
"对象名称2"
)
private
String
eleLtName
;
}
\ No newline at end of file
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiEleRelaDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.List
;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@ApiModel
(
value
=
"元素关系模块查询的传输对象"
,
description
=
"元素关系模块查询的传输对象"
)
public
class
ArchiEleRelaDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"主键"
)
private
Long
eleRelaId
;
@ApiModelProperty
(
value
=
"元素关系名称"
)
private
String
rsName
;
@ApiModelProperty
(
value
=
"适用范围"
)
private
String
scope
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
private
Integer
delFlag
;
@ApiModelProperty
(
value
=
"元素关系id集合"
)
private
List
<
Long
>
eleRelaIdList
;
}
arch-
base/src/main/java/org/arch/modules
/archoverall/dto/ArchiElementDTO.java
→
arch-
clouds/common/src/main/java/org/arch/common
/archoverall/dto/ArchiElementDTO.java
View file @
efeba8b
package
org
.
arch
.
modules
.
archoverall
.
dto
;
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiMetaModelDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@ApiModel
(
value
=
"元模型查询的传输对象"
,
description
=
"元模型查询的传输对象"
)
public
class
ArchiMetaModelDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"总条数"
)
private
Integer
total
;
@ApiModelProperty
(
value
=
"主键"
)
private
Long
metaModelId
;
@ApiModelProperty
(
value
=
"版本信息"
)
private
String
version
;
@ApiModelProperty
(
value
=
"版本名称"
)
private
String
verName
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
private
Integer
delFlag
;
/**
* 元模式数据
*/
@ApiModelProperty
(
value
=
"元模型数据"
)
private
String
metaModelData
;
/**
* 元模型 SVG
*/
@ApiModelProperty
(
value
=
"元模型 SVG"
)
private
String
metaModelSvg
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiRelaSatePostDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotNull
;
/**
* <p>
* 资产关系 发布/停用
* </p>
*
* @author admin
* @date 2024/02/22
* @since 2024-02-22
*/
@Getter
@Setter
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"资产关系"
,
description
=
"资产关系"
)
public
class
ArchiRelaSatePostDTO
{
/**
* 主键
*/
@ApiModelProperty
(
value
=
"主键"
)
@NotNull
(
message
=
"主键不能为空"
)
private
Long
relaId
;
@ApiModelProperty
(
value
=
"字典状态 0:已停用 1:已发布 2:暂存"
)
@NotNull
(
message
=
"状态不能为空"
)
private
Byte
state
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiTreeDto.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* <p>
* 应用架构
* </p>
*
* @author
* @since 2020-08-29
*/
@Data
@ApiModel
(
"架构对象"
)
public
class
ArchiTreeDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 架构组件ID
*/
@ApiModelProperty
(
"架构组件ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
/**
* 架构组件名称
*/
@ApiModelProperty
(
"架构组件名称"
)
private
String
assetName
;
@ApiModelProperty
(
"组件编码"
)
private
String
assetCode
;
// /**
// * 架构组件类型
// */
// @ApiModelProperty("架构组件类型")
// private String moduleTypeId;
/**
* 上级架构组件ID
*/
@ApiModelProperty
(
"上级架构组件ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
parentAssetId
;
@ApiModelProperty
(
"父级名称"
)
private
String
parentAssetName
;
@ApiModelProperty
(
"父级编码"
)
private
String
parentCode
;
/**
* 是否有下级,大于0代表有,小于等于0代表没有
*/
@ApiModelProperty
(
"是否有下级,大于0代表有,小于等于0代表没有"
)
private
int
haveChildren
;
/**
* 子集
*/
@ApiModelProperty
(
"子集"
)
private
List
<
ArchiTreeDto
>
children
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/ArchiViewDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.arch.enums.ArchiPrjReviewEnum
;
/**
* <p>
* 架构视图配置
* </p>
*
* @author lizhen
* @since 2023-12-06
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"ArchiViewDTO"
,
description
=
"架构视图配置DTO"
)
public
class
ArchiViewDTO
{
@ApiModelProperty
(
value
=
"审查类型"
)
private
ArchiPrjReviewEnum
reviewEnum
;
@ApiModelProperty
(
value
=
"架构归属 1 业务架构 2 应用架构 3 数据架构 4 技术架构 5 安全架构"
)
private
Integer
archiBelongId
;
@ApiModelProperty
(
value
=
"项目ID"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"系统ID"
)
private
Long
appId
;
@ApiModelProperty
(
value
=
"架构阶段(1:总体架构;2:系统架构 3:概设架构 4:其他架构)"
)
private
Integer
archiStage
;
@ApiModelProperty
(
value
=
"业务资料类型"
)
private
String
busiFileName
;
}
arch-
base/src/main/java/org/arch/modules
/archoverall/dto/BasePageEntity.java
→
arch-
clouds/common/src/main/java/org/arch/common
/archoverall/dto/BasePageEntity.java
View file @
efeba8b
package
org
.
arch
.
modules
.
archoverall
.
dto
;
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/BatchRemoveDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotEmpty
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* 批量删除
*
* @author makejava
* @since 2023-12-14
*/
@ApiModel
(
description
=
"批量删除"
)
@Data
public
class
BatchRemoveDTO
implements
Serializable
{
/**
* 钥匙
*/
@ApiModelProperty
(
"主键集合"
)
@NotEmpty
(
message
=
"请至少选择一条记录"
)
private
List
<
Long
>
ids
;
}
arch-
base/src/main/java/org/arch/modules
/archoverall/dto/BatchUpdateDTO.java
→
arch-
clouds/common/src/main/java/org/arch/common
/archoverall/dto/BatchUpdateDTO.java
View file @
efeba8b
package
org
.
arch
.
modules
.
archoverall
.
dto
;
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
lombok.Data
;
...
...
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/BatchUpdateRelaDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* 批量更新 DTO
*
* @author xh13k
* @date 2024/06/04
*/
@Data
public
class
BatchUpdateRelaDTO
{
private
List
<
Long
>
eleRelaId
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/DelDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
DelDTO
{
List
<
Long
>
assetId
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/DocMarkTag.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"word文档书签"
,
description
=
"word文档书签标识"
)
public
class
DocMarkTag
{
@ApiModelProperty
(
value
=
"书签标题开始位置"
)
private
String
startTilteBookmark
;
@ApiModelProperty
(
value
=
"书签标题结束位置"
)
private
String
endTilteBookmark
;
@ApiModelProperty
(
value
=
"书签正文开始位置"
)
private
String
startContentBookmark
;
@ApiModelProperty
(
value
=
"书签正文结束位置"
)
private
String
endContentBookmark
;
@ApiModelProperty
(
value
=
"表格书签"
)
private
String
tableBookmark
;
@ApiModelProperty
(
value
=
"图片书签"
)
private
String
picBookmark
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/NeedInfoDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.arch.enums.ArchiPrjReviewEnum
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
* 需求管理信息
* </p>
*
* @author java
* @since 2024-03-05
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"NeedInfo对象"
,
description
=
"需求管理信息"
)
public
class
NeedInfoDTO
extends
BasePageEntity
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"需求ID"
)
@TableId
(
value
=
"need_id"
,
type
=
IdType
.
AUTO
)
private
Long
needId
;
@ApiModelProperty
(
value
=
"需求编码"
)
@TableField
(
"need_code"
)
private
String
needCode
;
@ApiModelProperty
(
value
=
"需求名称"
)
@TableField
(
"need_name"
)
private
String
needName
;
@ApiModelProperty
(
value
=
"批次计划ID"
)
@TableField
(
"bat_plan_id"
)
private
Long
batPlanId
;
@ApiModelProperty
(
value
=
"批次计划编码"
)
@TableField
(
"bat_plan_code"
)
private
String
batPlanCode
;
@ApiModelProperty
(
value
=
"批次名称"
)
@TableField
(
"bat_name"
)
private
String
batName
;
@ApiModelProperty
(
value
=
"组织机构ID"
)
@TableField
(
"org_id"
)
private
Long
orgId
;
@ApiModelProperty
(
value
=
"组织机构编码"
)
@TableField
(
"org_code"
)
private
String
orgCode
;
@ApiModelProperty
(
value
=
"组织机构名称"
)
@TableField
(
"org_name"
)
private
String
orgName
;
@ApiModelProperty
(
value
=
"年度"
)
@TableField
(
"year"
)
private
String
year
;
@ApiModelProperty
(
value
=
"备注"
)
@TableField
(
"remark"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"审批状态:1新建、2审批中、3审批通过、4驳回"
)
@TableField
(
"approve_state"
)
private
Long
approveState
;
@ApiModelProperty
(
value
=
"所需材料JSON附件"
)
@TableField
(
"files_value"
)
private
List
<
JSONObject
>
filesValue
;
@ApiModelProperty
(
value
=
"创建人"
)
@TableField
(
"create_man"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"创建时间"
)
@TableField
(
"create_time"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
@TableField
(
"del_flag"
)
private
Integer
delFlag
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@TableField
(
"last_update_time"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
@TableField
(
"last_update_man"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"开始时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
endTime
;
@ApiModelProperty
(
value
=
"项目ID"
)
@TableField
(
"prj_id"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"项目编码"
)
@TableField
(
"prj_code"
)
private
String
prjCode
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
"prj_name"
)
private
String
prjName
;
@ApiModelProperty
(
value
=
"需求类型:1需求发布、2需求确认。必传"
)
@TableField
(
"need_type"
)
private
Long
needType
;
@ApiModelProperty
(
value
=
"承建类型"
)
@TableField
(
"build_type"
)
private
Long
buildType
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"审查类型"
)
private
ArchiPrjReviewEnum
reviewEnum
;
@ApiModelProperty
(
value
=
"需求IDList"
)
private
List
<
Long
>
needIdList
;
@ApiModelProperty
(
value
=
"材料List"
)
private
List
<
String
>
fileList
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/OnlineReviewCountQueryDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"OnlineReviewCountQueryDTO对象"
,
description
=
"概设材料统计分析查询对象"
)
public
class
OnlineReviewCountQueryDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"年度"
)
private
String
year
;
@ApiModelProperty
(
value
=
"统计类型:1单位概设统计 2批次系统统计"
)
private
Integer
countType
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/OnlineReviewWriteDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
/**
* <p>
* 概设材料在线意见编制
* </p>
*
* @author java
* @since 2024-03-18
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"OnlineReviewWrite对象"
,
description
=
"概设材料在线意见编制"
)
public
class
OnlineReviewWriteDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"主键"
)
@TableId
(
value
=
"idea_id"
,
type
=
IdType
.
AUTO
)
private
Long
ideaId
;
@ApiModelProperty
(
value
=
"意见编码"
)
@TableField
(
"idea_code"
)
private
String
ideaCode
;
@ApiModelProperty
(
value
=
"概设材料在线意见编制sheet(1:概设材料修改,2:意见生成与流转)"
)
@TableField
(
"idea_type"
)
private
Long
ideaType
;
@ApiModelProperty
(
value
=
"年度"
)
@TableField
(
"year"
)
private
String
year
;
@ApiModelProperty
(
value
=
"批次计划"
)
@TableField
(
"bat_plan_id"
)
private
Long
batPlanId
;
@ApiModelProperty
(
value
=
"批次名称"
)
@TableField
(
"bat_name"
)
private
String
batName
;
@ApiModelProperty
(
value
=
"需求Id"
)
@TableField
(
"need_id"
)
private
Long
needId
;
@ApiModelProperty
(
value
=
"需求名称"
)
@TableField
(
"need_name"
)
private
String
needName
;
@ApiModelProperty
(
value
=
"项目Id"
)
@TableField
(
"prj_id"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
"prj_name"
)
private
String
prjName
;
@ApiModelProperty
(
value
=
"关联机构Id"
)
@TableField
(
"org_id"
)
private
Long
orgId
;
@ApiModelProperty
(
value
=
"关联机构名称"
)
@TableField
(
"org_name"
)
private
String
orgName
;
@ApiModelProperty
(
value
=
"评审材料名称"
)
@TableField
(
"require_name"
)
private
String
requireName
;
@ApiModelProperty
(
value
=
"附件ID"
)
@TableField
(
"file_id"
)
private
Long
fileId
;
@ApiModelProperty
(
value
=
"附件URL"
)
@TableField
(
"file_url"
)
private
String
fileUrl
;
@ApiModelProperty
(
value
=
"推送状态"
)
@TableField
(
"push_state"
)
private
Long
pushState
;
@ApiModelProperty
(
value
=
"发送状态"
)
@TableField
(
"send_state"
)
private
Long
sendState
;
@ApiModelProperty
(
value
=
"剩余时间"
)
@TableField
(
"excess_time"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
String
excessTime
;
@ApiModelProperty
(
value
=
"评审意见"
)
@TableField
(
"review_suggestion"
)
private
String
reviewSuggestion
;
@ApiModelProperty
(
value
=
"在线评审状态(1:通过 0:未通过 2:待评审)"
)
@TableField
(
"online_review_state"
)
private
Integer
onlineReviewState
;
@ApiModelProperty
(
value
=
"创建人"
)
@TableField
(
"create_man"
)
private
Integer
createMan
;
@ApiModelProperty
(
value
=
"创建时间"
)
@TableField
(
"create_time"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"最后更新人"
)
@TableField
(
"last_update_man"
)
private
Integer
lastUpdateMan
;
@ApiModelProperty
(
value
=
"最后更新时间"
)
@TableField
(
"last_update_time"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
@TableField
(
"del_flag"
)
private
Integer
delFlag
;
@ApiModelProperty
(
value
=
"开始时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
beginTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
endTime
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/dto/WordContentDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.enums.ArchiPrjReviewEnum
;
import
java.util.List
;
/**
* <p>
* 获取word片段内容
* </p>
*
* @author java
* @since 2024-02-27
*/
@Data
@ApiModel
(
value
=
"WordContentDTO对象"
,
description
=
"word片段内容"
)
public
class
WordContentDTO
{
@ApiModelProperty
(
value
=
"项目Id"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"需求Id"
)
private
Long
needId
;
@ApiModelProperty
(
value
=
"审查类型"
)
private
ArchiPrjReviewEnum
reviewEnum
;
@ApiModelProperty
(
value
=
"业务资料类型"
)
private
String
busiFileName
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
comment
;
@ApiModelProperty
(
value
=
"标题"
)
private
String
title
;
@ApiModelProperty
(
value
=
"关键字"
)
private
String
keyWord
;
/**
* 字典表中配置(type=check_range)
*/
@ApiModelProperty
(
value
=
"检查范围"
)
private
String
checkRange
;
@ApiModelProperty
(
value
=
"检查范围"
)
private
List
<
String
>
checkRanges
;
@ApiModelProperty
(
value
=
"类型,区分导出类型"
)
private
String
type
;
/**
* 书签集合
*/
@ApiModelProperty
(
value
=
"标签范围"
)
private
List
<
DocMarkTag
>
docMarkTag
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchVisualVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ArchVisualVO
implements
Serializable
{
//资产类型(
//五大架构:
//ARCHI_TECHNOLOGY:技术架构
//ARCHI_APPLICATION:应用架构
//ARCHI_BUSINESS:业务架构
//ARCHI_SAFE:安全架构
//ARCHI_DATA:数据架构
//)
private
String
archType
;
//父类资产id
private
String
parentAssetId
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiAbilityAssetsRelationQueryVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
/**
* 中台服务清单关联资产(资产关联,中台架构服务,其他四大架构资产)(ArchiAbilityAssetsRelation)实体类
*
* @author makejava
* @since 2024-04-29 14:27:35
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"archiAbilityAssetsRelation"
,
description
=
"中台服务清单关联资产"
)
public
class
ArchiAbilityAssetsRelationQueryVO
{
/**
* 编号
*/
@ApiModelProperty
(
value
=
"编号(主键)"
)
private
Long
relaId
;
/**
* 资产Id
*/
@ApiModelProperty
(
value
=
"服务清单Id"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
/**
* 资产编码
*/
@ApiModelProperty
(
value
=
"服务编码"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"服务名称"
)
private
String
assetName
;
/**
* 关联资产ID
*/
@ApiModelProperty
(
value
=
"资产ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
relaAssetId
;
/**
* 关联资产编码
*/
@ApiModelProperty
(
value
=
"关联资产编码"
)
private
String
relaAssetCode
;
/**
* 关联资产名称
*/
@ApiModelProperty
(
value
=
"关联资产名称"
)
private
String
relaAssetName
;
/**
* 架构类型Id
*/
@ApiModelProperty
(
value
=
"架构类型Id"
)
private
Integer
archiTypeId
;
/**
* 架构类型名称(业务架构、应用架构、数据架构、技术架构、安全架构)
*/
@ApiModelProperty
(
value
=
"架构类型名称 1业务架构、2应用架构、3数据架构、4技术架构、5安全架构"
)
private
String
archiType
;
/**
* 版本ID
*/
@ApiModelProperty
(
value
=
"版本ID"
)
private
Integer
versionId
;
/**
* 视图ID
*/
@ApiModelProperty
(
value
=
"视图ID"
)
private
Long
viewId
;
/**
* 创建人
*/
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
creator
;
/**
* 创建时间
*/
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
/**
* 更新人
*/
@ApiModelProperty
(
value
=
"更新人"
)
private
Long
updateby
;
/**
* 更新时间
*/
@ApiModelProperty
(
value
=
"更新时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
updateTime
;
/**
* 删除标记(0:未删除;1:已删除)
*/
@ApiModelProperty
(
value
=
"删除标记(0:未删除;1:已删除)"
)
private
Integer
delFlag
;
/**
* 元素名称
*/
@ApiModelProperty
(
value
=
"元素名称"
)
private
String
eleName
;
/**
* 资产的父级节点串
*/
@ApiModelProperty
(
value
=
"资产的父级节点串"
)
private
String
parentAssetIds
;
/**
* 资产的父级节点名称
*/
@ApiModelProperty
(
value
=
"资产的父级节点名称串"
)
private
String
parentAssetNames
;
/**
* 元素关系ID
*/
@ApiModelProperty
(
"元素关系ID"
)
private
Long
eleRelaId
;
/**
* 元素关系名称
*/
@ApiModelProperty
(
"元素关系名称"
)
private
String
rsName
;
/**
* 状态 0:已停用 1:已发布 2:暂存
*/
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
/**
* 图标ID
*/
@ApiModelProperty
(
value
=
"图标ID"
)
private
String
iconId
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiAssetEleRelaVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.NoArgsConstructor
;
import
org.arch.common.BaseEntity
;
/**
* 架构资产关系
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"架构资产关系"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ArchiAssetEleRelaVO
extends
BaseEntity
{
/**
* 主键
*/
@ApiModelProperty
(
value
=
"主键"
)
private
Long
assetRelaId
;
/**
* 资产关系名称
*/
@ApiModelProperty
(
value
=
"资产关系名称"
)
private
String
rsName
;
/**
* 元素 ID
*/
@ApiModelProperty
(
value
=
"元素 ID"
)
private
Long
eleId
;
/**
* 元素编码
*/
@ApiModelProperty
(
value
=
"元素编码"
)
private
String
eleCode
;
/**
* 元素名称
*/
@ApiModelProperty
(
value
=
"元素名称"
)
private
String
eleName
;
/**
* 关联元素 ID
*/
@ApiModelProperty
(
value
=
"关联元素 ID"
)
private
Long
relaEleId
;
/**
* 关联元素编码
*/
@ApiModelProperty
(
value
=
"关联元素编码"
)
private
String
relaEleCode
;
/**
* 关联元素名称
*/
@ApiModelProperty
(
value
=
"关联元素名称"
)
private
String
relaEleName
;
/**
* 是否跨架构(1:是 0:否)
*/
@ApiModelProperty
(
value
=
"是否跨架构(1:是 0:否)"
)
private
Byte
across
;
/**
* 图标ID
*/
@ApiModelProperty
(
value
=
"图标ID"
)
private
String
iconId
;
/**
* 遵从元素关系,元素关系 ID
*/
@ApiModelProperty
(
value
=
"遵从元素关系,元素关系 ID"
)
private
Long
eleRelaId
;
/**
* 遵从元素关系,元素关系名称
*/
@ApiModelProperty
(
value
=
"遵从元素关系,元素关系名称"
)
private
String
eleRelaName
;
}
\ No newline at end of file
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiAssetVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
cn.hutool.core.lang.tree.Tree
;
import
com.alibaba.fastjson2.JSONArray
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
/**
* 架构资产
*
* @author makejava
* @since 2023-12-22
*/
@ApiModel
(
description
=
"架构资产VO"
)
@Getter
@Setter
@Accessors
(
chain
=
true
)
public
class
ArchiAssetVO
{
/**
* 架构元素ID
*/
private
Long
archiEleId
;
/**
* 架构元素名称
*/
private
String
eleName
;
@ApiModelProperty
(
"资产ID"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
)
private
Long
assetId
;
@ApiModelProperty
(
"code"
)
private
String
assetCode
;
@ApiModelProperty
(
"资产名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"上级架构组件ID"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
)
private
Long
parentAssetId
;
@ApiModelProperty
(
value
=
"上级架构组件名称"
)
private
String
parentAssetName
;
@ApiModelProperty
(
"版本ID"
)
private
Long
versionId
;
@ApiModelProperty
(
value
=
"图形名称"
)
private
String
iconName
;
@ApiModelProperty
(
value
=
"图形颜色"
)
private
String
color
;
@ApiModelProperty
(
value
=
"图形类型"
)
private
String
eleType
;
@ApiModelProperty
(
value
=
"图标"
)
private
String
icon
;
@ApiModelProperty
(
value
=
"架构归属"
)
private
Integer
archiBelongId
;
@ApiModelProperty
(
"架构类型"
)
private
String
archiType
;
@ApiModelProperty
(
"目标资产"
)
private
JSONArray
targetAssert
;
@ApiModelProperty
(
"子列表"
)
private
List
<
ArchiAssetVO
>
subList
;
@ApiModelProperty
(
"目标列表"
)
private
List
<
ArchiAssetVO
>
targetList
;
@ApiModelProperty
(
"子集"
)
private
List
<
Tree
<
String
>>
children
;
@ApiModelProperty
(
"元素ID"
)
private
Long
elementId
;
@ApiModelProperty
(
"元素名称"
)
private
String
elementName
;
@ApiModelProperty
(
value
=
"资产编号"
)
private
String
assetNumber
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiAssetViewVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
java.util.List
;
/**
* 架构资产可视化
*
* @author makejava
* @since 2023-12-22
*/
@ApiModel
(
description
=
"架构资产可视化VO"
)
@Getter
@Setter
@Accessors
(
chain
=
true
)
public
class
ArchiAssetViewVO
{
@ApiModelProperty
(
"资产ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
@ApiModelProperty
(
"code"
)
private
String
assetCode
;
@ApiModelProperty
(
"资产名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"架构归属"
)
private
Integer
archiBelongId
;
@ApiModelProperty
(
value
=
"上级架构组件ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
parentAssetId
;
@ApiModelProperty
(
"子列表"
)
private
List
<
ArchiAssetViewVO
>
subList
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiEleRelaNameVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"ArchiElement"
,
description
=
"架构元素关系"
)
public
class
ArchiEleRelaNameVO
{
@ApiModelProperty
(
value
=
"主键"
)
private
Long
eleRelaId
;
@ApiModelProperty
(
value
=
"元素关系名称"
)
private
String
rsName
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiEleRelaVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
@ApiModel
(
value
=
"ArchiElement"
,
description
=
"架构元素关系"
)
public
class
ArchiEleRelaVO
{
@ApiModelProperty
(
value
=
"主键"
)
private
Long
eleRelaId
;
@ApiModelProperty
(
value
=
"元素关系名称"
)
private
String
eleRelaName
;
@ApiModelProperty
(
value
=
"主键"
)
private
Long
sourceElementId
;
@ApiModelProperty
(
value
=
"元素名称"
)
private
String
sourceElementName
;
@ApiModelProperty
(
value
=
"元素类型(1:标准图元;2:常规图元)"
)
private
Integer
sourceEleType
;
@ApiModelProperty
(
value
=
"图标"
)
private
String
sourceIcon
;
@ApiModelProperty
(
value
=
"图形名称"
)
private
String
sourceIconName
;
@ApiModelProperty
(
value
=
"颜色"
)
private
String
sourceColor
;
@ApiModelProperty
(
value
=
"主键"
)
private
Long
targetElementId
;
@ApiModelProperty
(
value
=
"元素名称"
)
private
String
targetElementName
;
@ApiModelProperty
(
value
=
"元素类型(1:标准图元;2:常规图元)"
)
private
Integer
targetEleType
;
@ApiModelProperty
(
value
=
"图标"
)
private
String
targetIcon
;
@ApiModelProperty
(
value
=
"图形名称"
)
private
String
targetIconName
;
@ApiModelProperty
(
value
=
"颜色"
)
private
String
targetColor
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiVersionVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
* 架构资产版本
* </p>
*
* @author xh
* @since 2023-12-06
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"ArchiView"
,
description
=
"架构资产版本"
)
public
class
ArchiVersionVO
{
@ApiModelProperty
(
value
=
"版本名称"
)
private
String
versionName
;
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/ArchiViewVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
* <p>
* 项目架构视图
* </p>
*
* @author xh
* @since 2023-12-06
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"ArchiView"
,
description
=
"项目架构视图"
)
public
class
ArchiViewVO
{
@ApiModelProperty
(
value
=
"视图详情 ID"
)
private
Long
viewDetailsId
;
@ApiModelProperty
(
value
=
"视图详情名称"
)
private
String
viewDetailName
;
@ApiModelProperty
(
value
=
"视图 ID"
)
private
Long
viewId
;
@ApiModelProperty
(
value
=
"视图名称"
)
private
String
viewName
;
@ApiModelProperty
(
value
=
"画布缩略图"
)
private
String
metaModelSvg
;
@ApiModelProperty
(
value
=
"画布信息"
)
private
String
metaModelData
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/MxCellTreeVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* Mx元素Tree
*
* @author MxCell
* @date 2023/12/07
*/
@ApiModel
(
description
=
"Mx元素Tree"
)
@Data
public
class
MxCellTreeVO
{
/**
* 元素ID
*/
@ApiModelProperty
(
value
=
"元素ID"
,
position
=
1
)
private
String
id
;
/**
* 元素名称
*/
@ApiModelProperty
(
value
=
"元素名称"
,
position
=
2
)
private
Object
topic
;
/**
* 方向
*/
@ApiModelProperty
(
value
=
"方向"
,
position
=
3
)
private
String
direction
;
/**
* 展开
*/
@ApiModelProperty
(
value
=
"展开"
,
position
=
3
)
private
Boolean
expanded
;
private
List
<
MxCellTreeVO
>
children
;
}
\ No newline at end of file
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/MxCellVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* Mx元素
*
* @author MxCell
* @date 2023/12/07
*/
@ApiModel
(
description
=
"Mx元素"
)
@Data
public
class
MxCellVO
{
/**
* 元素ID
*/
@ApiModelProperty
(
value
=
"元素ID"
,
position
=
1
)
private
String
sourceId
;
/**
* 元素名称
*/
@ApiModelProperty
(
value
=
"元素名称"
,
position
=
2
)
private
Object
source
;
/**
* 关联元素ID
*/
@ApiModelProperty
(
value
=
"关联元素ID"
,
position
=
4
)
private
String
targetId
;
/**
* 关联元素名称
*/
@ApiModelProperty
(
value
=
"关联元素名称"
,
position
=
3
)
private
Object
target
;
/**
* 关联关系名称
*/
@ApiModelProperty
(
value
=
"关联关系名称"
,
position
=
5
)
private
Object
linkName
;
/**
* 关联关系描述
*/
@ApiModelProperty
(
value
=
"关联关系描述"
,
position
=
6
)
private
Object
linkNameDesc
;
/**
* 方向
*/
@ApiModelProperty
(
value
=
"方向"
,
position
=
7
)
private
String
direction
;
private
Integer
sort
;
}
\ No newline at end of file
arch-
base/src/main/java/org/arch/modules/base/dto/UpLoadDT
O.java
→
arch-
clouds/common/src/main/java/org/arch/common/archoverall/vo/MxFileV
O.java
View file @
efeba8b
package
org
.
arch
.
modules
.
base
.
dt
o
;
package
org
.
arch
.
common
.
archoverall
.
v
o
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* oss对象存储
*
* @author admin
* @date 2023/12/05
*/
@ApiModel
(
description
=
"oss对象存储DTO"
)
@ApiModel
(
description
=
"drawio上传VO"
)
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
UpLoadDTO
{
@Builder
public
class
MxFileVO
{
/**
* id
*/
@ApiModelProperty
(
hidden
=
true
)
private
Long
id
;
/**
*
文件 ID
*
xml标题
*/
@ApiModelProperty
(
value
=
"
文件ID"
)
private
Long
fileId
;
@ApiModelProperty
(
value
=
"
xml标题"
,
position
=
2
)
private
String
title
;
/**
*
地址
*
xml内容
*/
@ApiModelProperty
(
value
=
"
地址"
)
private
String
url
;
@ApiModelProperty
(
value
=
"
xml内容;加密或者解密具体看:https://jgraph.github.io/drawio-tools/tools/convert.html?"
,
position
=
3
)
private
String
content
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/NeedReviewVo.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* <p>
* 需求管理信息
* </p>
*
* @author java
* @since 2024-03-05
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"NeedReviewVo对象"
,
description
=
"需求评审信息"
)
public
class
NeedReviewVo
implements
Serializable
{
@ApiModelProperty
(
value
=
"需求ID"
)
private
Long
needId
;
@ApiModelProperty
(
value
=
"需求编码"
)
@TableField
(
"need_code"
)
private
String
needCode
;
@ApiModelProperty
(
value
=
"需求名称"
)
@TableField
(
"need_name"
)
private
String
needName
;
@ApiModelProperty
(
value
=
"批次计划ID"
)
@TableField
(
"bat_plan_id"
)
private
Long
batPlanId
;
@ApiModelProperty
(
value
=
"批次计划编码"
)
@TableField
(
"bat_plan_code"
)
private
String
batPlanCode
;
@ApiModelProperty
(
value
=
"批次名称"
)
@TableField
(
"bat_name"
)
private
String
batName
;
@ApiModelProperty
(
value
=
"组织机构ID"
)
@TableField
(
"org_id"
)
private
Long
orgId
;
@ApiModelProperty
(
value
=
"组织机构编码"
)
@TableField
(
"org_code"
)
private
String
orgCode
;
@ApiModelProperty
(
value
=
"组织机构名称"
)
@TableField
(
"org_name"
)
private
String
orgName
;
@ApiModelProperty
(
value
=
"年度"
)
@TableField
(
"year"
)
private
String
year
;
@ApiModelProperty
(
value
=
"备注"
)
@TableField
(
"remark"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"评审状态:1新建、2审批中、3审批通过、4驳回"
)
private
Long
approveState
;
@ApiModelProperty
(
value
=
"所需材料JSON附件"
)
@TableField
(
"files_value"
)
private
String
filesValue
;
@ApiModelProperty
(
value
=
"创建人"
)
@TableField
(
"create_man"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"创建时间"
)
@TableField
(
"create_time"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
@TableField
(
"del_flag"
)
private
Integer
delFlag
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@TableField
(
"last_update_time"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
@TableField
(
"last_update_man"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"项目ID"
)
@TableField
(
"prj_id"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"项目编码"
)
@TableField
(
"prj_code"
)
private
String
prjCode
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
"prj_name"
)
private
String
prjName
;
@ApiModelProperty
(
value
=
"需求类型:1需求发布、2需求确认。必传"
)
@TableField
(
"need_type"
)
private
Long
needType
;
@ApiModelProperty
(
value
=
"承建类型"
)
@TableField
(
"build_type"
)
private
Long
buildType
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"主键"
)
private
Long
reviewId
;
@ApiModelProperty
(
value
=
"评审材料类型(1:需求评审;2:概设评审)"
)
private
String
reviewType
;
@ApiModelProperty
(
value
=
"评审材料关联主键(1:关联需求,2:关联概设)"
)
private
Long
busiTypeId
;
@ApiModelProperty
(
value
=
"评审意见"
)
private
String
reviewSuggestion
;
@ApiModelProperty
(
value
=
"评审状态(1:通过 0:未通过)"
)
private
Integer
reviewState
;
}
arch-clouds/common/src/main/java/org/arch/common/archoverall/vo/OnlineReviewCountVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
archoverall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* <p>
* 项目-需求资料信息
* </p>
*
* @author java
* @since 2024-03-14
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@ApiModel
(
value
=
"OnlineReviewCountVO对象"
,
description
=
"概设统计分析信息"
)
public
class
OnlineReviewCountVO
implements
Serializable
{
@ApiModelProperty
(
value
=
"承建单位"
)
private
Integer
manageOrgId
;
@ApiModelProperty
(
value
=
"单位名称"
)
private
String
manageOrgName
;
@ApiModelProperty
(
value
=
"概设需求数"
)
private
Integer
needCount
;
@ApiModelProperty
(
value
=
"概设材料通过数"
)
private
Integer
reviewPassCount
;
@ApiModelProperty
(
value
=
"通过率"
)
private
BigDecimal
passRate
;
@ApiModelProperty
(
value
=
"批次计划ID"
)
private
Long
batPlanId
;
@ApiModelProperty
(
value
=
"批次名称"
)
private
String
batName
;
}
arch-
base/src/main/java/org/arch/modules
/base/dto/DelDTO.java
→
arch-
clouds/common/src/main/java/org/arch/common
/base/dto/DelDTO.java
View file @
efeba8b
package
org
.
arch
.
modules
.
base
.
dto
;
package
org
.
arch
.
common
.
base
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
arch-
base/src/main/java/org/arch/modules
/base/dto/DictDTO.java
→
arch-
clouds/common/src/main/java/org/arch/common
/base/dto/DictDTO.java
View file @
efeba8b
package
org
.
arch
.
modules
.
base
.
dto
;
package
org
.
arch
.
common
.
base
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
arch-
base/src/main/java/org/arch/modules
/base/dto/DownloadObjectDTO.java
→
arch-
clouds/common/src/main/java/org/arch/common
/base/dto/DownloadObjectDTO.java
View file @
efeba8b
package
org
.
arch
.
modules
.
base
.
dto
;
package
org
.
arch
.
common
.
base
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
arch-
base/src/main/java/org/arch/modules
/base/vo/UpLoadVO.java
→
arch-
clouds/common/src/main/java/org/arch/common
/base/vo/UpLoadVO.java
View file @
efeba8b
package
org
.
arch
.
modules
.
base
.
vo
;
package
org
.
arch
.
common
.
base
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
arch-
gateway/src/main/java/org/arch/overall
/service/RedisService.java
→
arch-
clouds/common/src/main/java/org/arch/common/redis
/service/RedisService.java
View file @
efeba8b
package
org
.
arch
.
overall
.
service
;
package
org
.
arch
.
common
.
redis
.
service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
...
...
arch-clouds/common/src/main/java/org/arch/common/user/dto/DeptSmallDto.java
0 → 100644
View file @
efeba8b
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package
org
.
arch
.
common
.
user
.
dto
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author hupeng
* @date 2019-6-10 16:32:18
*/
@Data
public
class
DeptSmallDto
implements
Serializable
{
private
Long
id
;
private
String
name
;
}
arch-clouds/common/src/main/java/org/arch/common/user/dto/MenuDto.java
0 → 100644
View file @
efeba8b
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package
org
.
arch
.
common
.
user
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author hupeng
* @date 2020-05-14
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"sys_menu"
)
@ApiModel
(
value
=
"Menu对象"
,
description
=
"Menu对象"
)
public
class
MenuDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"ID"
)
@TableId
(
value
=
"id"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"类型,0:目录、1:菜单、2:按钮"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"权限"
)
private
String
permission
;
@ApiModelProperty
(
value
=
"菜单名称"
)
private
String
name
;
@ApiModelProperty
(
value
=
"排序"
)
private
Long
sort
;
@ApiModelProperty
(
value
=
"链接地址"
)
private
String
path
;
@ApiModelProperty
(
value
=
"组件"
)
private
String
component
;
@ApiModelProperty
(
value
=
"上级菜单ID"
)
private
String
pid
;
@ApiModelProperty
(
value
=
"父级节点ID串"
)
private
String
pids
;
@ApiModelProperty
(
value
=
"是否外链"
)
private
Boolean
iFrame
;
@ApiModelProperty
(
value
=
"缓存"
)
private
Boolean
cache
;
@ApiModelProperty
(
value
=
"启用禁用"
)
private
Boolean
hidden
;
@ApiModelProperty
(
value
=
"组件名称"
)
private
String
componentName
;
@ApiModelProperty
(
value
=
"图标"
)
private
String
icon
;
@ApiModelProperty
(
value
=
"子节点"
)
private
List
<
MenuDto
>
children
;
@ApiModelProperty
(
value
=
"创建日期"
)
private
Date
createTime
;
/** 类别 0:系统 1:项目*/
@ApiModelProperty
(
value
=
"类别 0:系统 1:项目"
)
private
Integer
category
;
@ApiModelProperty
(
"ISCID"
)
private
String
iscId
;
}
arch-clouds/common/src/main/java/org/arch/common/user/dto/RoleSmallDto.java
0 → 100644
View file @
efeba8b
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package
org
.
arch
.
common
.
user
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @author hupeng
* @date 2018-11-23
*/
@Data
@ApiModel
(
value
=
"角色对象"
,
description
=
"角色对象"
)
public
class
RoleSmallDto
implements
Serializable
{
@ApiModelProperty
(
value
=
"角色id"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"角色名"
)
private
String
roleName
;
@ApiModelProperty
(
value
=
"角色标识"
)
private
String
roleSign
;
}
arch-
base/src/main/java/org/arch/modules/sysmanage
/dto/UserDto.java
→
arch-
clouds/common/src/main/java/org/arch/common/user
/dto/UserDto.java
View file @
efeba8b
...
...
@@ -4,13 +4,14 @@
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package
org
.
arch
.
modules
.
sysmanage
.
dto
;
package
org
.
arch
.
common
.
user
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.common.user.entity.Menu
;
import
org.arch.common.user.entity.Org
;
import
java.awt.*
;
import
java.io.Serializable
;
import
java.sql.Timestamp
;
import
java.util.List
;
...
...
@@ -71,12 +72,21 @@ public class UserDto implements Serializable {
@ApiModelProperty
(
value
=
"菜单集合 说明:用户可以操作的菜单或者按钮"
,
notes
=
"用户可访问的菜单或者按钮"
)
private
Set
<
Menu
>
menus
;
@ApiModelProperty
(
value
=
"部门信息"
)
private
DeptSmallDto
dept
;
@ApiModelProperty
(
value
=
"组织机构信息"
)
private
Org
org
;
@ApiModelProperty
(
value
=
"数据权限范围信息"
)
private
String
dataPermission
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Timestamp
createTime
;
@ApiModelProperty
(
value
=
"角色集合"
,
notes
=
"目前系统设置的是多角色"
)
// @ApiModelProperty(value = "角色集合",notes = "目前系统设置的是单角色,默认在不为空的情况下获取第一条数据")
private
List
<
RoleSmallDto
>
roles
;
@ApiModelProperty
(
value
=
"菜单id集合"
,
notes
=
"菜单id集合"
)
private
List
<
Long
>
menuIds
;
...
...
arch-clouds/common/src/main/java/org/arch/common/user/entity/Menu.java
0 → 100644
View file @
efeba8b
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package
org
.
arch
.
common
.
user
.
entity
;
import
com.baomidou.mybatisplus.annotation.FieldFill
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 菜单
* @author hupeng
* @date 2020-05-14
*/
@Data
@TableName
(
"sys_menu"
)
public
class
Menu
implements
Serializable
,
Comparable
<
Menu
>
{
/** ID */
@ApiModelProperty
(
"ID"
)
private
Long
id
;
/** 是否外链 */
@ApiModelProperty
(
"是否外链"
)
private
Boolean
iFrame
;
/** 菜单名称 */
@NotBlank
(
message
=
"请填写菜单名称"
)
@ApiModelProperty
(
"菜单名称"
)
private
String
name
;
/** 组件 */
@ApiModelProperty
(
"ID"
)
private
String
component
;
/** 上级菜单ID */
@NotNull
(
message
=
"上级菜单ID不能为空"
)
@ApiModelProperty
(
"上级菜单ID"
)
private
String
pid
;
@ApiModelProperty
(
"上级菜单ID串"
)
private
String
pids
;
/** 排序 */
@NotNull
(
message
=
"排序不能为空"
)
@ApiModelProperty
(
"排序"
)
private
Long
sort
;
/** 图标 */
@ApiModelProperty
(
"图标"
)
private
String
icon
;
/** 链接地址 */
@ApiModelProperty
(
"链接地址"
)
private
String
path
;
/** 缓存 */
@ApiModelProperty
(
"缓存"
)
private
Boolean
cache
;
/** 是否隐藏 */
@ApiModelProperty
(
"启用禁用"
)
private
Boolean
hidden
;
/** 组件名称 */
@ApiModelProperty
(
"组件名称"
)
private
String
componentName
;
/** 创建日期 */
@ApiModelProperty
(
"创建日期"
)
@TableField
(
fill
=
FieldFill
.
INSERT
)
private
Date
createTime
;
/** 权限 */
@ApiModelProperty
(
"权限"
)
private
String
permission
;
/** 类型,0:目录、1:菜单、2:按钮 */
@ApiModelProperty
(
"类型,0:目录、1:菜单、2:按钮"
)
private
Integer
type
;
/** 类别 0:系统 1:项目*/
@ApiModelProperty
(
"类别 0:系统 1:项目"
)
private
Integer
category
;
@ApiModelProperty
(
"ISCID"
)
private
String
iscId
;
@Override
public
int
compareTo
(
Menu
o
)
{
int
i
=
this
.
getSort
().
intValue
()-
o
.
getSort
().
intValue
();
if
(
i
==
0
){
return
this
.
sort
.
intValue
()-
o
.
getSort
().
intValue
();
}
return
i
;
}
}
arch-clouds/common/src/main/java/org/arch/common/user/entity/Org.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
common
.
user
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
*
* </p>
*
* @author audit
* @since 2020-08-21
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"sys_org"
)
@ApiModel
(
value
=
"Org对象"
,
description
=
"Org对象"
)
public
class
Org
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"组织ID"
)
@TableId
(
value
=
"org_id"
,
type
=
IdType
.
AUTO
)
private
Long
orgId
;
@ApiModelProperty
(
value
=
"上级组织ID"
)
private
Long
parentOrgId
;
@ApiModelProperty
(
value
=
"上级组织名称"
)
@TableField
(
exist
=
false
)
private
String
parentOrgName
;
@ApiModelProperty
(
value
=
"组织编码"
)
private
String
orgCode
;
@ApiModelProperty
(
value
=
"组织名称"
)
private
String
orgName
;
@ApiModelProperty
(
value
=
"组织简称"
)
private
String
orgSimpleName
;
@ApiModelProperty
(
value
=
"组织描述"
)
private
String
orgDesc
;
@ApiModelProperty
(
value
=
"组织状态;1:启动 0:禁用"
)
private
String
orgStatus
;
@ApiModelProperty
(
value
=
"组织类型;1:内部组织 2:外部组织"
)
private
String
orgType
;
@ApiModelProperty
(
value
=
"排序字段"
)
private
Integer
orgSort
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"创建人名称"
)
@TableField
(
exist
=
false
)
private
String
createManName
;
@ApiModelProperty
(
value
=
"创建时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"父节点串"
)
private
String
ids
;
@ApiModelProperty
(
value
=
"子组织"
)
@TableField
(
exist
=
false
)
private
List
<
Org
>
children
;
@ApiModelProperty
(
value
=
"基准id"
)
private
String
depId
;
@ApiModelProperty
(
value
=
"基准父级id"
)
private
String
parentId
;
@ApiModelProperty
(
value
=
"组织性质,DEPT:部门 CORP:单位"
)
private
String
natureCode
;
@ApiModelProperty
(
value
=
"所属部门id"
)
private
String
branchOrgId
;
private
Integer
isShow
;
}
arch-clouds/log/pom.xml
View file @
efeba8b
...
...
@@ -23,5 +23,11 @@
<artifactId>
mybatis
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.arch
</groupId>
<artifactId>
common
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
arch-clouds/log/src/main/java/org/arch/log/service/SysEventLogService.java
View file @
efeba8b
package
org
.
arch
.
log
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.arch.common.user.dto.UserDto
;
import
org.arch.log.entity.SysEventLog
;
import
org.arch.modules.sysmanage.dto.UserDto
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageRequest
;
...
...
arch-clouds/log/src/main/java/org/arch/log/service/impl/SysEventLogServiceImpl.java
View file @
efeba8b
...
...
@@ -7,10 +7,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.toolkit.SqlHelper
;
import
org.arch.common.user.dto.UserDto
;
import
org.arch.log.entity.SysEventLog
;
import
org.arch.log.mapper.SysEventLogMapper
;
import
org.arch.log.service.SysEventLogService
;
import
org.arch.modules.sysmanage.dto.UserDto
;
import
org.arch.utils.StringUtils
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.PageImpl
;
...
...
arch-clouds/mybatis/pom.xml
View file @
efeba8b
...
...
@@ -23,7 +23,10 @@
<groupId>
com.github.yulichang
</groupId>
<artifactId>
mybatis-plus-join-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
com.github.yulichang
</groupId>
<artifactId>
mybatis-plus-join-core
</artifactId>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
mybatis-plus-boot-starter
</artifactId>
...
...
arch-clouds/pom.xml
View file @
efeba8b
...
...
@@ -18,6 +18,7 @@
<module>
mybatis
</module>
<module>
nacos
</module>
<module>
filters
</module>
<module>
common
</module>
</modules>
<properties>
<maven.compiler.source>
8
</maven.compiler.source>
...
...
arch-clouds/storage/pom.xml
View file @
efeba8b
...
...
@@ -43,6 +43,12 @@
<artifactId>
arch-base
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.arch
</groupId>
<artifactId>
common
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
arch-clouds/storage/src/main/java/org/arch/storage/entity/File.java
View file @
efeba8b
...
...
@@ -9,7 +9,7 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.arch.common.
entity.
BaseEntity
;
import
org.arch.common.BaseEntity
;
import
java.io.Serializable
;
...
...
arch-clouds/storage/src/main/java/org/arch/storage/service/OssService.java
View file @
efeba8b
package
org
.
arch
.
storage
.
service
;
import
org.arch.
modules
.base.dto.DelDTO
;
import
org.arch.
modules
.base.dto.DownloadObjectDTO
;
import
org.arch.
modules
.base.vo.UpLoadVO
;
import
org.arch.
common
.base.dto.DelDTO
;
import
org.arch.
common
.base.dto.DownloadObjectDTO
;
import
org.arch.
common
.base.vo.UpLoadVO
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
...
...
arch-clouds/storage/src/main/java/org/arch/storage/service/impl/OssServiceImpl.java
View file @
efeba8b
...
...
@@ -6,9 +6,9 @@ import lombok.RequiredArgsConstructor;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.arch.storage.entity.File
;
import
org.arch.
modules
.base.dto.DelDTO
;
import
org.arch.
modules
.base.dto.DownloadObjectDTO
;
import
org.arch.
modules
.base.vo.UpLoadVO
;
import
org.arch.
common
.base.dto.DelDTO
;
import
org.arch.
common
.base.dto.DownloadObjectDTO
;
import
org.arch.
common
.base.vo.UpLoadVO
;
import
org.arch.storage.mapper.FileMapper
;
import
org.arch.storage.service.OssService
;
import
org.arch.utils.FileUtils
;
...
...
arch-gateway/pom.xml
View file @
efeba8b
...
...
@@ -96,6 +96,18 @@
<groupId>
org.bouncycastle
</groupId>
<artifactId>
bcprov-jdk15on
</artifactId>
</dependency>
<dependency>
<groupId>
org.arch
</groupId>
<artifactId>
common
</artifactId>
<version>
1.0-SNAPSHOT
</version>
<scope>
compile
</scope>
<exclusions>
<exclusion>
<groupId>
org.arch
</groupId>
<artifactId>
mybatis
</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<finalName>
${project.artifactId}
</finalName>
...
...
arch-gateway/src/main/java/org/arch/GatewayApp.java
View file @
efeba8b
...
...
@@ -2,11 +2,12 @@ package org.arch;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
/**
* Hello world!
*/
@SpringBootApplication
@SpringBootApplication
(
exclude
=
DataSourceAutoConfiguration
.
class
)
public
class
GatewayApp
{
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
GatewayApp
.
class
,
args
);
...
...
arch-gateway/src/main/java/org/arch/config/LoginFilter.java
View file @
efeba8b
...
...
@@ -3,8 +3,8 @@ package org.arch.config;
import
com.alibaba.cloud.commons.lang.StringUtils
;
import
net.minidev.json.JSONObject
;
import
org.arch.
overall
.service.RedisService
;
import
org.arch.util.JwtUtil
;
import
org.arch.
common.redis
.service.RedisService
;
import
org.arch.util
s
.JwtUtil
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
arch-gateway/src/main/java/org/arch/util/StringUtils.java
deleted
100644 → 0
View file @
2f61b4a
/**
* Copyright (C) 2018-2020
* All rights reserved, Designed By www.yixiang.co
* 注意:
* 本软件为www.yixiang.co开发研制
*/
package
org
.
arch
.
util
;
import
javax.servlet.http.HttpServletRequest
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
import
java.util.Calendar
;
import
java.util.Date
;
/**
* @author Zheng Jie
* 字符串工具类, 继承org.apache.commons.lang3.StringUtils类
*/
public
class
StringUtils
extends
org
.
apache
.
commons
.
lang3
.
StringUtils
{
private
static
final
char
SEPARATOR
=
'_'
;
private
static
final
String
UNKNOWN
=
"unknown"
;
/**
* 驼峰命名法工具
*
* @return toCamelCase(" hello_world ") == "helloWorld"
* toCapitalizeCamelCase("hello_world") == "HelloWorld"
* toUnderScoreCase("helloWorld") = "hello_world"
*/
public
static
String
toCamelCase
(
String
s
)
{
if
(
s
==
null
)
{
return
null
;
}
s
=
s
.
toLowerCase
();
StringBuilder
sb
=
new
StringBuilder
(
s
.
length
());
boolean
upperCase
=
false
;
for
(
int
i
=
0
;
i
<
s
.
length
();
i
++)
{
char
c
=
s
.
charAt
(
i
);
if
(
c
==
SEPARATOR
)
{
upperCase
=
true
;
}
else
if
(
upperCase
)
{
sb
.
append
(
Character
.
toUpperCase
(
c
));
upperCase
=
false
;
}
else
{
sb
.
append
(
c
);
}
}
return
sb
.
toString
();
}
/**
* 驼峰命名法工具
*
* @return toCamelCase(" hello_world ") == "helloWorld"
* toCapitalizeCamelCase("hello_world") == "HelloWorld"
* toUnderScoreCase("helloWorld") = "hello_world"
*/
public
static
String
toCapitalizeCamelCase
(
String
s
)
{
if
(
s
==
null
)
{
return
null
;
}
s
=
toCamelCase
(
s
);
return
s
.
substring
(
0
,
1
).
toUpperCase
()
+
s
.
substring
(
1
);
}
/**
* 驼峰命名法工具
*
* @return toCamelCase(" hello_world ") == "helloWorld"
* toCapitalizeCamelCase("hello_world") == "HelloWorld"
* toUnderScoreCase("helloWorld") = "hello_world"
*/
static
String
toUnderScoreCase
(
String
s
)
{
if
(
s
==
null
)
{
return
null
;
}
StringBuilder
sb
=
new
StringBuilder
();
boolean
upperCase
=
false
;
for
(
int
i
=
0
;
i
<
s
.
length
();
i
++)
{
char
c
=
s
.
charAt
(
i
);
boolean
nextUpperCase
=
true
;
if
(
i
<
(
s
.
length
()
-
1
))
{
nextUpperCase
=
Character
.
isUpperCase
(
s
.
charAt
(
i
+
1
));
}
if
((
i
>
0
)
&&
Character
.
isUpperCase
(
c
))
{
if
(!
upperCase
||
!
nextUpperCase
)
{
sb
.
append
(
SEPARATOR
);
}
upperCase
=
true
;
}
else
{
upperCase
=
false
;
}
sb
.
append
(
Character
.
toLowerCase
(
c
));
}
return
sb
.
toString
();
}
/**
* 获取ip地址
*/
public
static
String
getIp
(
HttpServletRequest
request
)
{
String
ip
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
String
comma
=
","
;
String
localhost
=
"127.0.0.1"
;
if
(
ip
.
contains
(
comma
))
{
ip
=
ip
.
split
(
","
)[
0
];
}
if
(
localhost
.
equals
(
ip
))
{
// 获取本机真正的ip地址
try
{
ip
=
InetAddress
.
getLocalHost
().
getHostAddress
();
}
catch
(
UnknownHostException
e
)
{
e
.
printStackTrace
();
}
}
return
ip
;
}
/**
* 获得当天是周几
*/
public
static
String
getWeekDay
(){
String
[]
weekDays
=
{
"Sun"
,
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
};
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
new
Date
());
int
w
=
cal
.
get
(
Calendar
.
DAY_OF_WEEK
)
-
1
;
if
(
w
<
0
){
w
=
0
;
}
return
weekDays
[
w
];
}
}
arch-overall/pom.xml
View file @
efeba8b
...
...
@@ -46,6 +46,15 @@
<artifactId>
filters
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.arch
</groupId>
<artifactId>
common
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.nasdanika.core
</groupId>
<artifactId>
mxgraph
</artifactId>
</dependency>
</dependencies>
<build>
...
...
arch-overall/src/main/java/org/arch/overall/controller/ArchiAssetInfoController.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
controller
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.arch.Result
;
import
org.arch.log.annotation.OperLog
;
import
org.arch.log.entity.DescContent
;
import
org.arch.log.logenum.LogOperTypeEnum
;
import
org.arch.log.logenum.LogTypeEnum
;
import
org.arch.common.archoverall.dto.ArchiAssetInfoDTO
;
import
org.arch.common.archoverall.dto.DelDTO
;
import
org.arch.overall.dto.ArchiDto
;
import
org.arch.overall.entity.ArchiElementNestRelation
;
import
org.arch.overall.entity.AssetInfo
;
import
org.arch.overall.service.ArchiAssetInfoService
;
import
org.arch.overall.utils.GenerateAssetCodeUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
/**
* <p>
* 资产架构 前端控制器
* </p>
*
* @author author
* @since 2024-01-09
*/
@Api
(
value
=
"/arc-ast-info"
,
tags
=
{
"总体架构资产"
})
@RestController
@RequestMapping
(
"/arc-ast-info"
)
public
class
ArchiAssetInfoController
{
@Autowired
private
ArchiAssetInfoService
archiAssetInfoService
;
@ApiOperation
(
DescContent
.
QUERY_OVERALL_ASSET_LIST
)
@PostMapping
(
value
=
"/"
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
operDes
=
"查询资产列表信息"
,
moduleName
=
"资产管理"
)
public
Result
iPage
(
@RequestBody
ArchiAssetInfoDTO
params
)
{
return
Result
.
success
(
archiAssetInfoService
.
iPage
(
params
));
}
@ApiOperation
(
value
=
"新增"
,
notes
=
"新增"
,
httpMethod
=
"POST"
)
@PostMapping
(
value
=
"/ad"
)
@OperLog
(
value
=
LogOperTypeEnum
.
ADD
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"资产管理"
,
operDes
=
"新增总体架构资产数据"
)
public
Result
create
(
@RequestBody
ArchiAssetInfoDTO
params
)
{
return
Result
.
success
(
archiAssetInfoService
.
inster
(
params
));
}
@ApiOperation
(
value
=
"修改"
,
notes
=
"修改"
,
httpMethod
=
"POST"
)
@PostMapping
(
value
=
"/upd"
)
@OperLog
(
value
=
LogOperTypeEnum
.
UPDATE
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"资产管理"
,
operDes
=
"修改总体架构资产数据"
)
public
Result
update
(
@RequestBody
ArchiAssetInfoDTO
params
)
{
return
Result
.
success
(
archiAssetInfoService
.
update
(
params
));
}
@PostMapping
(
value
=
"/delBatch"
)
@ApiOperation
(
value
=
"批量删除"
,
notes
=
"批量删除"
,
httpMethod
=
"POST"
)
@OperLog
(
value
=
LogOperTypeEnum
.
DELETE
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"资产管理"
,
operDes
=
"删除总体架构资产数据"
)
public
Result
delBatch
(
@RequestBody
DelDTO
requestMap
)
{
return
archiAssetInfoService
.
delBatch
(
requestMap
)
?
Result
.
success
(
"删除成功"
)
:
Result
.
error
(
"删除失败"
);
}
@ApiOperation
(
value
=
"不分页查询"
,
notes
=
"不分页查询"
,
httpMethod
=
"POST"
)
@PostMapping
(
value
=
"/assetList"
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"资产管理"
,
operDes
=
"不分页查询总体架构资产数据"
)
public
Result
assetList
(
@RequestBody
ArchiAssetInfoDTO
params
)
{
List
<
AssetInfo
>
assetList
=
archiAssetInfoService
.
assetList
(
params
);
return
Result
.
success
(
assetList
);
}
// 资产管理节点树(上级节点树)
@ApiOperation
(
"架构资产管理-五大架构架构资产单节点树"
)
@PostMapping
(
"/qryByTree"
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"资产管理"
,
operDes
=
"查询五大架构资产树"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"archiType"
,
value
=
"架构类型 应用架构:ARCHI_APPLICATION , 业务架构:ARCHI_BUSINESS, 数据架构:ARCHI_DATA, 安全架构: ARCHI_SAFE, 技术架构: ARCHI_TECHNOLOGY"
,
required
=
true
,
dataType
=
"string"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"archiAssetState"
,
value
=
"架构资产状态(字典中读取,1:现状态;2:目标态)"
,
required
=
false
,
dataType
=
"int"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"archiStage"
,
value
=
"架构阶段(1:总体架构;2:系统架构)"
,
required
=
false
,
dataType
=
"String"
,
paramType
=
"query"
),
@ApiImplicitParam
(
name
=
"eleName"
,
value
=
"元素名称"
,
required
=
false
,
dataType
=
"String"
,
paramType
=
"query"
),
})
Result
<
List
<
AssetInfo
>>
qryTree
(
@RequestBody
ArchiDto
frameworkDto
)
{
String
archiType
=
frameworkDto
.
getArchiType
();
if
(!
Optional
.
ofNullable
(
archiType
).
isPresent
())
{
return
Result
.
error
(
"架构类型不能为空"
);
}
// 构建查询条件
// 查询系统版本
// LambdaQueryWrapper<ArchiAssetSystem> wrapper = new LambdaQueryWrapper<ArchiAssetSystem>()
// .select(ArchiAssetSystem::getVersionId)
// .eq(ArchiAssetSystem::getArchiStatus, 1);
// ArchiAssetSystem version = archiAssetSystemMapper.selectOne(wrapper);
// Assert.notNull(version, "最新版本不存在");
// Long versionId = version.getVersionId();
// frameworkDto.setVersionId(versionId);
List
<
AssetInfo
>
assetInfos
=
archiAssetInfoService
.
qryTree
(
frameworkDto
);
return
Result
.
success
(
assetInfos
);
}
@ApiOperation
(
value
=
"查询上级元素"
,
notes
=
"查询上级元素"
,
httpMethod
=
"POST"
)
@PostMapping
(
value
=
"/qyLastEle"
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"资产管理"
,
operDes
=
"查询上级元素"
)
public
Result
qyLastEle
(
@RequestBody
ArchiAssetInfoDTO
params
)
{
List
<
ArchiElementNestRelation
>
assetList
=
archiAssetInfoService
.
qyLastEle
(
params
);
return
Result
.
success
(
assetList
);
}
@ApiOperation
(
value
=
"获取总体资产编码"
,
notes
=
"获取总体资产编码"
,
httpMethod
=
"POST"
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"资产管理"
,
operDes
=
"获取资产编码"
)
@PostMapping
(
value
=
"/getAssetCode"
)
public
Result
getTotalityAssetCode
(
@RequestBody
Map
<
String
,
String
>
param
)
{
try
{
//架构阶段(1:总体架构;2:系统架构 3:概设架构 4:其他架构)
Integer
archiStage
=
1
;
String
totalityAssetCode
=
GenerateAssetCodeUtils
.
getTotalityAssetCode
(
param
.
get
(
"archiType"
),
param
.
get
(
"superiorAssetCode"
),
param
.
get
(
"assetCode"
),
param
.
get
(
"archiStage"
));
return
Result
.
success
(
totalityAssetCode
);
}
catch
(
Exception
e
)
{
return
Result
.
error
(
e
.
getMessage
());
}
}
}
arch-overall/src/main/java/org/arch/overall/controller/ArchiEleRelaController.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
controller
;
import
io.swagger.annotations.ApiOperation
;
import
org.arch.Result
;
import
org.arch.log.entity.DescContent
;
import
org.arch.common.archoverall.dto.ArchiEleRelaDTO
;
import
org.arch.common.archoverall.dto.BatchUpdateRelaDTO
;
import
org.arch.overall.entity.ArchiEleRela
;
import
org.arch.overall.service.ArchiElePropertyService
;
import
org.arch.overall.service.ArchiEleRelaService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.arch.log.annotation.OperLog
;
import
org.arch.log.logenum.LogOperTypeEnum
;
import
org.arch.log.logenum.LogTypeEnum
;
import
java.util.List
;
import
java.util.Map
;
@RestController
@RequestMapping
(
"ele-rel"
)
public
class
ArchiEleRelaController
{
@Autowired
private
ArchiEleRelaService
archiEleRelaService
;
@Autowired
private
ArchiElePropertyService
archiElePropertyService
;
@PostMapping
(
value
=
"/"
)
@ApiOperation
(
DescContent
.
QUERY_LIST_ELEMENT_RELATIONSHIPS
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
operDes
=
"获取元素关系"
,
moduleName
=
"元素管理"
)
public
Result
gtArchiEleRela
(
@RequestBody
ArchiEleRelaDTO
dto
)
{
return
Result
.
success
(
archiEleRelaService
.
gtArchiEleRela
(
dto
));
}
@PostMapping
(
"/ad-ele-rel"
)
@ApiOperation
(
value
=
"新增元素关系"
)
@OperLog
(
value
=
LogOperTypeEnum
.
ADD
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"元素管理"
,
operDes
=
"新增元素关系"
)
public
Result
addArchiEleRela
(
@RequestBody
ArchiEleRela
archiEleRelas
)
{
return
Result
.
success
(
archiEleRelaService
.
insert
(
archiEleRelas
));
}
@PostMapping
(
value
=
"/upd-ele-rel"
)
@ApiOperation
(
value
=
"修改元素关系"
)
@OperLog
(
value
=
LogOperTypeEnum
.
UPDATE
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"元素管理"
,
operDes
=
"修改元素关系"
)
public
Result
updArchiEleRela
(
@RequestBody
ArchiEleRela
archiEleRelas
)
{
return
Result
.
success
(
archiEleRelaService
.
update
(
archiEleRelas
));
}
@PostMapping
(
value
=
"/del-ele-rel"
)
@ApiOperation
(
value
=
"根据Id删除元素关系"
)
@OperLog
(
value
=
LogOperTypeEnum
.
ADD
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"元素管理"
,
operDes
=
"根据id删除元素关系"
)
public
Result
delArchiEleRela
(
@RequestBody
ArchiEleRela
archiEleRelas
)
{
return
Result
.
success
(
archiEleRelaService
.
del
(
archiEleRelas
));
}
@PostMapping
(
value
=
"/batchupd-ele-rel"
)
@ApiOperation
(
value
=
"批量发布版本"
)
@OperLog
(
value
=
LogOperTypeEnum
.
UPDATE
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"元素管理"
,
operDes
=
"批量发布版本"
)
public
Result
updateEleRelBatch
(
@RequestBody
BatchUpdateRelaDTO
requestMap
)
{
return
Result
.
success
(
archiEleRelaService
.
updBatch
(
requestMap
));
}
@ApiOperation
(
"根据元素关系查询元素信息"
)
@PostMapping
(
value
=
"/qEle"
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"元素管理"
,
operDes
=
"根据元素关系查询元素信息"
)
public
Result
qEle
(
@RequestBody
ArchiEleRelaDTO
dto
)
{
return
Result
.
success
(
archiEleRelaService
.
findEleRelaConstrainList
(
dto
.
getEleRelaId
()));
}
@ApiOperation
(
"查询元素关系(只包含元素关系名称)"
)
@PostMapping
(
value
=
"/qEleRela"
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"元素管理"
,
operDes
=
"询元素关系(只包含元素关系名称)"
)
public
Result
qEleRela
()
{
return
Result
.
success
(
archiEleRelaService
.
findEleRelaList
());
}
@ApiOperation
(
"批量新增/修改元素"
)
@PostMapping
(
value
=
"/updEleBatch"
)
@OperLog
(
value
=
LogOperTypeEnum
.
ADD
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"元素管理"
,
operDes
=
"批量新增/修改元素"
)
public
Result
updEleBatch
(
@RequestBody
List
<
Map
<
String
,
Object
>>
requestList
)
{
return
Result
.
success
(
archiElePropertyService
.
updateEleRelBatch
(
requestList
));
}
@PostMapping
(
value
=
"/rel-list"
)
@ApiOperation
(
value
=
"获取元素关系列表"
)
@OperLog
(
value
=
LogOperTypeEnum
.
QUERY
,
logTypeValue
=
LogTypeEnum
.
BUSI_LOG
,
moduleName
=
"元素管理"
,
operDes
=
"获取元素关系列表"
)
public
Result
gtEleRelList
(
@RequestBody
ArchiEleRelaDTO
dto
)
{
return
Result
.
success
(
archiEleRelaService
.
gtEleRelList
(
dto
));
}
}
arch-overall/src/main/java/org/arch/overall/controller/ArchiElementController.java
View file @
efeba8b
...
...
@@ -8,8 +8,8 @@ import org.arch.Result;
import
org.arch.log.annotation.OperLog
;
import
org.arch.log.logenum.LogOperTypeEnum
;
import
org.arch.log.logenum.LogTypeEnum
;
import
org.arch.
modules
.archoverall.dto.ArchiElementDTO
;
import
org.arch.
modules
.archoverall.dto.BatchUpdateDTO
;
import
org.arch.
common
.archoverall.dto.ArchiElementDTO
;
import
org.arch.
common
.archoverall.dto.BatchUpdateDTO
;
import
org.arch.overall.entity.ArchiElement
;
import
org.arch.overall.service.ArchiElementService
;
import
org.springframework.web.bind.annotation.*
;
...
...
arch-overall/src/main/java/org/arch/overall/dto/ArchiAssetDesignedAddDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
dto
;
import
lombok.Data
;
import
java.util.List
;
/**
* 设计态-架构资产
*
* @author xh13k
* @date 2024/05/31
*/
@Data
public
class
ArchiAssetDesignedAddDTO
{
/**
* 资产添加批处理
*/
List
<
ArchiAssetDesignedInfoDTO
>
assetAddBatch
;
}
arch-overall/src/main/java/org/arch/overall/dto/ArchiAssetDesignedInfoDTO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.arch.common.archoverall.dto.BasePageEntity
;
import
org.arch.overall.entity.AssetInfo
;
import
java.util.List
;
/**
* 架构资产
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
description
=
"架构资产"
)
@Data
public
class
ArchiAssetDesignedInfoDTO
extends
BasePageEntity
{
@ApiModelProperty
(
value
=
"架构组件ID"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"架构组件名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"资产编码,采用8位阶梯设计编码,通过编码识别层级"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"上级架构组件ID"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
)
private
Long
parentAssetId
;
@ApiModelProperty
(
value
=
"上级架构组件名称"
)
private
String
parentAssetName
;
@ApiModelProperty
(
value
=
"父级编码"
)
private
String
parentCode
;
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
@ApiModelProperty
(
value
=
"架构元素Id"
)
private
Long
archiEleId
;
@ApiModelProperty
(
value
=
"架构类型"
)
private
String
archiType
;
@ApiModelProperty
(
value
=
"架构归属"
)
private
Integer
archiBelongId
;
@ApiModelProperty
(
value
=
"架构资产状态(字典中读取,1:现状态;2:目标态)"
)
private
Integer
archiAssetState
;
@ApiModelProperty
(
value
=
"架构资产类型(架构视图、架构演进路线、业务活动资产等),必传"
)
private
Integer
archiAssetType
;
@ApiModelProperty
(
value
=
"架构阶段(1:总体架构;2:系统架构),必传"
)
private
Integer
archiStage
;
@ApiModelProperty
(
value
=
"架构资产类型关联的ID,目前架构视图关联archi_view表,必传"
)
private
Long
archiAssetTypeId
;
@ApiModelProperty
(
value
=
"关联资产,实际用作兄弟关系连线,可支持多个target"
)
private
List
<
JSONObject
>
targetAsset
;
@ApiModelProperty
(
value
=
"JSON综合字段;将架构元素的属性和值利用Json数据存储"
)
private
List
<
JSONObject
>
fieldsValue
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column01
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column02
;
@ApiModelProperty
(
value
=
"组件类型名称"
)
private
String
eleName
;
@ApiModelProperty
(
value
=
"旧版本ID"
)
private
Long
orignVersionId
;
@ApiModelProperty
(
value
=
"排序"
)
private
Integer
sort
;
@ApiModelProperty
(
value
=
"是否首页展示 0 展示 1 不展示"
)
private
Byte
isShow
;
@ApiModelProperty
(
value
=
"原架构ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
orignAssetId
;
@ApiModelProperty
(
value
=
"资产常量,必传。"
)
private
String
assetConstant
;
@ApiModelProperty
(
value
=
"版本"
)
private
String
version
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"承建类型:1统推,2自建"
)
private
Integer
buildType
;
@ApiModelProperty
(
value
=
"来源:0系统资产,1总体资产,2概设关联业务管理同步更新"
)
private
Integer
isExtend
;
@ApiModelProperty
(
value
=
"架构资产子节点树"
)
private
List
<
AssetInfo
>
children
;
@ApiModelProperty
(
value
=
"颜色"
)
private
String
color
;
@ApiModelProperty
(
value
=
"上级元素名称"
)
private
List
<
String
>
parentElement
;
@ApiModelProperty
(
value
=
"资产编号"
)
private
String
assetNumber
;
@ApiModelProperty
(
value
=
"图形库ID"
)
private
Long
graphId
;
@ApiModelProperty
(
value
=
"图标"
)
@TableField
(
exist
=
false
)
private
String
icon
;
@ApiModelProperty
(
value
=
"图形名称"
)
@TableField
(
exist
=
false
)
private
String
iconName
;
@ApiModelProperty
(
value
=
"上级资产"
)
private
List
<
String
>
parentAsset
;
/**
* 视图ID
*/
@ApiModelProperty
(
value
=
"视图ID"
)
private
Long
viewId
;
/**
* 视图模板ID
*/
@ApiModelProperty
(
value
=
"视图模板ID"
)
private
Long
tplId
;
@ApiModelProperty
(
value
=
"一层级"
)
@TableField
(
exist
=
false
)
private
String
assetFirstName
;
@ApiModelProperty
(
value
=
"二层级"
)
@TableField
(
exist
=
false
)
private
String
assetSecondName
;
}
\ No newline at end of file
arch-overall/src/main/java/org/arch/overall/dto/ArchiDto.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.config.LongListFormatSerializer
;
import
org.arch.overall.entity.ArchiAssetRelated
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
* 应用架构
* </p>
*
* @author
* @since 2020-08-29
*/
@Data
@ApiModel
(
"架构对象"
)
public
class
ArchiDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 架构组件ID
*/
@ApiModelProperty
(
"架构组件ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
@ApiModelProperty
(
"视图id"
)
private
Long
viewId
;
@ApiModelProperty
(
"架构阶段(1:总体架构;2:系统架构)"
)
private
String
archiStage
;
/**
* 架构组件名称
*/
@ApiModelProperty
(
"架构组件名称"
)
private
String
assetName
;
/**
* 上级架构组件ID
*/
@ApiModelProperty
(
"上级架构组件ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
parentAssetId
;
/**
* 上级架构组件ID串
*/
@ApiModelProperty
(
"上级架构组件ID串"
)
private
String
parentIds
;
/**
* 上级架构组件名称
*/
@ApiModelProperty
(
"上级架构组件名称"
)
private
String
parentAssetName
;
/**
* 版本ID
*/
@ApiModelProperty
(
"版本ID"
)
private
Long
versionId
;
// /**
// * 组件类型ID
// */
// @ApiModelProperty("组件类型ID")
// private Long moduleTypeId;
// /**
// * 组件类型名称
// */
// @ApiModelProperty("组件类型名称")
// private String moduleTypeName;
/**
* 架构类型
*/
@ApiModelProperty
(
"架构类型"
)
private
String
archiType
;
// @ApiModelProperty("上级架构")
// private String path;
//
// @ApiModelProperty("重复关键字")
// private String keyWord;
/**
* 创建时间
*/
@ApiModelProperty
(
"创建时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
/**
* 创建人
*/
@ApiModelProperty
(
"创建人"
)
private
Long
createMan
;
/**
* 创建人
*/
@ApiModelProperty
(
"创建人"
)
private
String
createManName
;
/**
* 最后一次修改时间
*/
@ApiModelProperty
(
"最后一次修改时间"
)
private
Date
lastUpdateTime
;
/**
* 最后一次修改人
*/
@ApiModelProperty
(
"最后一次修改人"
)
private
Long
lastUpdateMan
;
/**
* 最后一次修改人
*/
@ApiModelProperty
(
"最后一次修改人"
)
private
String
lastUpdateManName
;
@ApiModelProperty
(
"元素名称"
)
private
String
eleName
;
/**
* 关联架构
*/
@ApiModelProperty
(
"关联架构"
)
private
List
<
ArchiAssetRelated
>
relateFrameworkList
;
/**
* 关联应用架构ID集合
*/
@ApiModelProperty
(
"关联应用架构ID集合"
)
@JsonSerialize
(
using
=
LongListFormatSerializer
.
class
)
private
List
<
Long
>
appIds
;
/**
* 关联业务架构ID集合
*/
@ApiModelProperty
(
"关联业务架构ID集合"
)
@JsonSerialize
(
using
=
LongListFormatSerializer
.
class
)
private
List
<
Long
>
busIds
;
/**
* 关联数据架构ID集合
*/
@ApiModelProperty
(
"关联数据架构ID集合"
)
@JsonSerialize
(
using
=
LongListFormatSerializer
.
class
)
private
List
<
Long
>
dataIds
;
/**
* 关联安全架构ID集合
*/
@ApiModelProperty
(
"关联安全架构ID集合"
)
@JsonSerialize
(
using
=
LongListFormatSerializer
.
class
)
private
List
<
Long
>
safeIds
;
/**
* 关联技术架构ID集合
*/
@ApiModelProperty
(
"关联技术架构ID集合"
)
@JsonSerialize
(
using
=
LongListFormatSerializer
.
class
)
private
List
<
Long
>
tecIds
;
/**
* 存储字段1
*/
@ApiModelProperty
(
"存储字段"
)
private
String
column01
;
/**
* 存储字段2
*/
@ApiModelProperty
(
"存储字段"
)
private
String
column02
;
/**
* 存储字段4
*/
@ApiModelProperty
(
"架构元素Id"
)
private
Long
archiEleId
;
/**
* 存储字段5
*/
@ApiModelProperty
(
"架构归属"
)
private
int
archiBelongId
;
/**
* 存储字段6
*/
@ApiModelProperty
(
"架构资产状态(字典中读取,1:现状态;2:目标态)"
)
private
int
archiAssetState
;
/**
* 存储字段7
*/
@ApiModelProperty
(
"架构资产类型(架构视图、架构演进路线、业务活动资产等)"
)
private
int
archiAssetType
;
/**
* 存储字段8
*/
@ApiModelProperty
(
"架构资产类型关联的ID,目前架构视图关联archi_view表"
)
private
Long
archiAssetTypeId
;
/**
* 存储字段9
*/
@ApiModelProperty
(
"JSON综合字段;将架构元素的属性和值利用Json数据存储"
)
private
String
fieldsValue
;
/**
* 存储字段10
*/
@ApiModelProperty
(
"旧版本ID"
)
private
Long
orignVersionId
;
/**
* 存储字段11
*/
@ApiModelProperty
(
"原架构ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
orignAssetId
;
/**
* 存储字段12
*/
@ApiModelProperty
(
"删除标记(0:未删除;1:删除)"
)
private
int
delFlag
;
// @ApiModelProperty("模板信息")
// private List<ModuleTypeDetail> moduleTypeDetailList;
@ApiModelProperty
(
"附件集合"
)
@JsonSerialize
(
using
=
LongListFormatSerializer
.
class
)
private
List
<
Long
>
fileIds
;
/**
* 排序
*/
@ApiModelProperty
(
"排序"
)
private
Integer
sort
;
@ApiModelProperty
(
"是否首页展示 0 展示 1 不展示"
)
private
Integer
isShow
;
@ApiModelProperty
(
"子集集合"
)
private
List
<
ArchiDto
>
childs
;
private
String
ywy
;
public
ArchiDto
()
{
}
/**
* 存储字段19
*/
@ApiModelProperty
(
"数据主题"
)
private
String
dataSubject
;
/**
* 存储字段20
*/
@ApiModelProperty
(
"数据域"
)
private
String
dataField
;
@ApiModelProperty
(
"架构层级"
)
private
String
layeredData
;
@ApiModelProperty
(
"可研项目数量"
)
private
int
projectCount
;
@ApiModelProperty
(
"累计金额(万)"
)
private
double
sumCost
;
@ApiModelProperty
(
"当前页数"
)
private
Integer
current
;
@ApiModelProperty
(
"页面显示数量"
)
private
Integer
pageSize
;
public
ArchiDto
(
String
assetName
,
String
createManName
,
Long
parentAssetId
)
{
this
.
assetName
=
assetName
;
this
.
createManName
=
createManName
;
this
.
parentAssetId
=
parentAssetId
;
}
}
arch-overall/src/main/java/org/arch/overall/dto/ArchiReqDto.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
dto
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.arch.config.LongListFormatSerializer
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* <p>
* 应用架构
* </p>
*
* @author
* @since 2020-08-29
*/
@Data
@ApiModel
(
"架构修改对象"
)
public
class
ArchiReqDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
ArchiDto
dto
;
@ApiModelProperty
(
value
=
"应用架构:ARCHI_APPLICATION, 业务架构:ARCHI_BUSINESS, "
+
"数据架构:ARCHI_DATA, 安全架构: ARCHI_SAFE, 技术架构: ARCHI_TECHNOLOGY"
)
private
String
archiType
;
@ApiModelProperty
(
"主键ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
id
;
@ApiModelProperty
(
"主键IDS 数组"
)
@JsonSerialize
(
using
=
LongListFormatSerializer
.
class
)
private
List
<
Long
>
ids
;
@ApiModelProperty
(
"父级ID,没有值时请传'null'"
)
@JsonSerialize
(
using
=
LongListFormatSerializer
.
class
)
private
Long
parentAssetId
;
@ApiModelProperty
(
"当前页"
)
private
Integer
current
;
@ApiModelProperty
(
"每页显示条数"
)
private
Integer
pageSize
;
@ApiModelProperty
(
"业务组件名称"
)
private
String
assetName
;
@ApiModelProperty
(
"创建人名称"
)
private
String
createManName
;
@ApiModelProperty
(
"版本id"
)
private
Long
versionId
;
@ApiModelProperty
(
"搜索类型"
)
private
String
searchFrameWorkType
;
@ApiModelProperty
(
"组件类型ID"
)
private
Long
moduleTypeId
;
}
arch-overall/src/main/java/org/arch/overall/entity/ArchiAbilityAssetsRelation.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* 中台服务清单关联资产(资产关联,中台架构服务,其他四大架构资产)(ArchiAbilityAssetsRelation)实体类
*
* @author makejava
* @since 2024-04-29 14:27:35
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"archi_ability_assets_relation"
)
@ApiModel
(
value
=
"archiAbilityAssetsRelation"
,
description
=
"中台服务清单关联资产"
)
public
class
ArchiAbilityAssetsRelation
implements
Serializable
{
private
static
final
long
serialVersionUID
=
815044091405040796L
;
/**
* 编号
*/
@ApiModelProperty
(
value
=
"编号(主键)"
)
@TableId
(
value
=
"rela_id"
,
type
=
IdType
.
AUTO
)
private
Long
relaId
;
/**
* 资产Id
*/
@ApiModelProperty
(
value
=
"服务清单Id"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
/**
* 资产编码
*/
@ApiModelProperty
(
value
=
"服务编码"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"服务名称"
)
private
String
assetName
;
/**
* 关联资产ID
*/
@ApiModelProperty
(
value
=
"资产ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
relaAssetId
;
/**
* 关联资产编码
*/
@ApiModelProperty
(
value
=
"关联资产编码"
)
private
String
relaAssetCode
;
/**
* 关联资产名称
*/
@ApiModelProperty
(
value
=
"关联资产名称"
)
private
String
relaAssetName
;
/**
* 架构类型Id
*/
@ApiModelProperty
(
value
=
"架构类型Id"
)
private
Integer
archiTypeId
;
/**
* 架构类型名称(业务架构、应用架构、数据架构、技术架构、安全架构)
*/
@ApiModelProperty
(
value
=
"架构类型名称 1业务架构、2应用架构、3数据架构、4技术架构、5安全架构"
)
private
String
archiType
;
/**
* 版本ID
*/
@ApiModelProperty
(
value
=
"版本ID"
)
private
Integer
versionId
;
/**
* 视图ID
*/
@ApiModelProperty
(
value
=
"视图ID"
)
private
Long
viewId
;
/**
* 创建人
*/
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
creator
;
/**
* 创建时间
*/
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
/**
* 更新人
*/
@ApiModelProperty
(
value
=
"更新人"
)
private
Long
updateby
;
/**
* 更新时间
*/
@ApiModelProperty
(
value
=
"更新时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
updateTime
;
/**
* 删除标记(0:未删除;1:已删除)
*/
@ApiModelProperty
(
value
=
"删除标记(0:未删除;1:已删除)"
)
private
Integer
delFlag
;
/**
* 元素名称
*/
@ApiModelProperty
(
value
=
"元素名称"
)
private
String
eleName
;
/**
* 资产的父级节点串
*/
@ApiModelProperty
(
value
=
"资产的父级节点串"
)
private
String
parentAssetIds
;
/**
* 资产的父级节点名称
*/
@ApiModelProperty
(
value
=
"资产的父级节点名称串"
)
private
String
parentAssetNames
;
@ApiModelProperty
(
value
=
"服务对应资产统计信息"
)
@TableField
(
exist
=
false
)
private
List
<
ArchiAssetStatistics
>
statisticsList
;
@ApiModelProperty
(
value
=
"JSON综合字段;将架构元素的属性和值利用Json数据存储"
)
private
String
fieldsValue
;
/**
* 元素关系ID
*/
@ApiModelProperty
(
"元素关系ID"
)
private
Long
eleRelaId
;
/**
* 架构元素关系ID
*/
@ApiModelProperty
(
value
=
"主键"
)
@NotNull
(
message
=
"架构元素关系ID不能为空"
)
private
Long
assetRelaId
;
/**
* 状态 0:已停用 1:已发布 2:暂存
*/
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
/**
* 图标ID
*/
@ApiModelProperty
(
value
=
"图标ID"
)
private
String
iconId
;
}
arch-overall/src/main/java/org/arch/overall/entity/ArchiAssetRelated.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
import
com.fasterxml.jackson.databind.ser.std.ToStringSerializer
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
/**
* 架构间关系表(ArchiAssetRelated)实体类
*
* @author makejava
* @since 2024-01-16 18:32:13
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"archi_asset_related"
)
@ApiModel
(
value
=
"archiAssetRelated"
,
description
=
"架构关系关联表"
)
public
class
ArchiAssetRelated
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
33243590503312664L
;
/**
* 主键
*/
@ApiModelProperty
(
value
=
"主键"
)
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Long
id
;
/**
* 主架构资产ID
*/
@ApiModelProperty
(
value
=
"主架构资产ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
assetId
;
/**
* 关联架构资产ID
*/
@ApiModelProperty
(
value
=
"关联架构资产ID"
)
@JsonSerialize
(
using
=
ToStringSerializer
.
class
)
private
Long
relateAssetId
;
/**
* 主架构类型(业务/应用/数据/技术/安全)
*/
@ApiModelProperty
(
value
=
"主架构类型(业务/应用/数据/技术/安全)"
)
private
String
archiType
;
/**
* 关联架构类型(业务/应用/数据/技术/安全)
*/
@ApiModelProperty
(
value
=
"关联架构类型(业务/应用/数据/技术/安全)"
)
private
String
relateArchiType
;
/**
* 架构元素Id
*/
@ApiModelProperty
(
value
=
"架构元素Id"
)
private
String
leftArchiEleId
;
/**
* 被关联元素Id
*/
@ApiModelProperty
(
value
=
"被关联元素Id"
)
private
String
rigthArchiEleId
;
/**
* 关联关系
*/
@ApiModelProperty
(
value
=
"关联关系"
)
private
String
conRelate
;
/**
* 版本ID
*/
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
}
arch-overall/src/main/java/org/arch/overall/entity/ArchiAssetStatistics.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* 服务对应的资产统计信息(ArchiAssetStatistics)实体类
*
* @author makejava
* @since 2024-04-24 17:56:18
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"archi_asset_statistics"
)
@ApiModel
(
value
=
"archiAssetStatistics"
,
description
=
"服务对应的资产统计信息"
)
public
class
ArchiAssetStatistics
implements
Serializable
{
private
static
final
long
serialVersionUID
=
474742981630506476L
;
/**
* 编号(主键)
*/
@ApiModelProperty
(
value
=
"编号(主键)"
)
private
Long
statisticsId
;
/**
* 服务编码,企业架构中台服务清单表
*/
@ApiModelProperty
(
value
=
"服务编码,企业架构中台服务清单表"
)
private
String
abilityCode
;
/**
* 架构类型(业务架构、应用架构、数据架构、技术架构、安全架构)
*/
@ApiModelProperty
(
value
=
"架构类型(1 业务架构、2 应用架构、3 数据架构、4 技术架构、5 安全架构)"
)
private
Integer
archiTypeId
;
/**
* 统计类型(1:服务清单关联统计;2:业务关联统计;3:应用关联统计;4:数据实体关联统计;5:技术组件关联统计)
*/
@ApiModelProperty
(
value
=
"统计类型(1:服务清单关联统计;2:业务关联统计;3:应用关联统计;4:数据实体关联统计;5:技术组件关联统计)"
)
private
Integer
statType
;
/**
* 分层统计(如果没有多层统计,关键字统计字段为空)
*/
@ApiModelProperty
(
value
=
"分层统计(如果没有多层统计,关键字统计字段为空)"
)
private
Integer
statKey
;
/**
* 统计时间
*/
@ApiModelProperty
(
value
=
"统计时间"
)
private
Date
statTime
;
/**
* 统计数量
*/
@ApiModelProperty
(
value
=
"统计数量"
)
private
Integer
statNum
;
}
arch-overall/src/main/java/org/arch/overall/entity/ArchiAssetSystem.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* <p>
* 架构版本
* </p>
*
* @author author
* @since 2024-01-16
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"archi_asset_version"
)
@ApiModel
(
value
=
"ArchiAssetVersion对象"
,
description
=
"架构版本"
)
public
class
ArchiAssetSystem
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"版本ID"
)
@TableId
(
value
=
"version_id"
,
type
=
IdType
.
AUTO
)
private
Long
versionId
;
@ApiModelProperty
(
value
=
"版本名称"
)
@TableField
(
"version_name"
)
private
String
versionName
;
@ApiModelProperty
(
value
=
"版本编号"
)
@TableField
(
"version_num"
)
private
String
versionNum
;
@ApiModelProperty
(
value
=
"依赖版本ID"
)
@TableField
(
"rely_version_id"
)
private
Long
relyVersionId
;
@ApiModelProperty
(
value
=
"依赖版本号"
)
@TableField
(
"rely_version_num"
)
private
String
relyVersionNum
;
@ApiModelProperty
(
value
=
"版本描述"
)
@TableField
(
"version_desc"
)
private
String
versionDesc
;
@ApiModelProperty
(
value
=
"支撑架构(多个架构用逗号分割)"
)
@TableField
(
"support_archi"
)
private
String
supportArchi
;
@ApiModelProperty
(
value
=
"版本状态(1 当前版本 2 历史版本)"
)
@TableField
(
"archi_status"
)
private
String
archiStatus
;
@ApiModelProperty
(
value
=
"创建时间"
)
@TableField
(
"create_time"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人"
)
@TableField
(
"create_man"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"实际结束时间"
)
@TableField
(
"end_time"
)
private
Date
endTime
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@TableField
(
"last_update_time"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
@TableField
(
"last_update_man"
)
private
Long
lastUpdateMan
;
public
Long
getVersionId
()
{
return
versionId
;
}
public
void
setVersionId
(
Long
versionId
)
{
this
.
versionId
=
versionId
;
}
public
String
getVersionName
()
{
return
versionName
;
}
public
void
setVersionName
(
String
versionName
)
{
this
.
versionName
=
versionName
;
}
public
String
getVersionNum
()
{
return
versionNum
;
}
public
void
setVersionNum
(
String
versionNum
)
{
this
.
versionNum
=
versionNum
;
}
public
Long
getRelyVersionId
()
{
return
relyVersionId
;
}
public
void
setRelyVersionId
(
Long
relyVersionId
)
{
this
.
relyVersionId
=
relyVersionId
;
}
public
String
getRelyVersionNum
()
{
return
relyVersionNum
;
}
public
void
setRelyVersionNum
(
String
relyVersionNum
)
{
this
.
relyVersionNum
=
relyVersionNum
;
}
public
String
getVersionDesc
()
{
return
versionDesc
;
}
public
void
setVersionDesc
(
String
versionDesc
)
{
this
.
versionDesc
=
versionDesc
;
}
public
String
getSupportArchi
()
{
return
supportArchi
;
}
public
void
setSupportArchi
(
String
supportArchi
)
{
this
.
supportArchi
=
supportArchi
;
}
public
String
getArchiStatus
()
{
return
archiStatus
;
}
public
void
setArchiStatus
(
String
archiStatus
)
{
this
.
archiStatus
=
archiStatus
;
}
public
Date
getCreateTime
()
{
return
createTime
;
}
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Long
getCreateMan
()
{
return
createMan
;
}
public
void
setCreateMan
(
Long
createMan
)
{
this
.
createMan
=
createMan
;
}
public
Date
getEndTime
()
{
return
endTime
;
}
public
void
setEndTime
(
Date
endTime
)
{
this
.
endTime
=
endTime
;
}
public
Date
getLastUpdateTime
()
{
return
lastUpdateTime
;
}
public
void
setLastUpdateTime
(
Date
lastUpdateTime
)
{
this
.
lastUpdateTime
=
lastUpdateTime
;
}
public
Long
getLastUpdateMan
()
{
return
lastUpdateMan
;
}
public
void
setLastUpdateMan
(
Long
lastUpdateMan
)
{
this
.
lastUpdateMan
=
lastUpdateMan
;
}
@Override
public
String
toString
()
{
return
"ArchiAssetVersion{"
+
", versionId = "
+
versionId
+
", versionName = "
+
versionName
+
", versionNum = "
+
versionNum
+
", relyVersionId = "
+
relyVersionId
+
", relyVersionNum = "
+
relyVersionNum
+
", versionDesc = "
+
versionDesc
+
", supportArchi = "
+
supportArchi
+
", archiStatus = "
+
archiStatus
+
", createTime = "
+
createTime
+
", createMan = "
+
createMan
+
", endTime = "
+
endTime
+
", lastUpdateTime = "
+
lastUpdateTime
+
", lastUpdateMan = "
+
lastUpdateMan
+
"}"
;
}
}
arch-overall/src/main/java/org/arch/overall/entity/ArchiEleRela.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.arch.common.BaseEntity
;
import
org.arch.common.archoverall.dto.ArchiEleRelaConstrainDTO
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* <p>
* 架构元素关系信息
* </p>
*
* @author lizhen
* @since 2023-11-30
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"archi_ele_rela"
)
@ApiModel
(
value
=
"SchemaElementRelationship"
,
description
=
"架构元素关系信息"
)
public
class
ArchiEleRela
extends
BaseEntity
{
@ApiModelProperty
(
value
=
"主键"
)
@TableId
(
"ele_rela_id"
)
private
Long
eleRelaId
;
@ApiModelProperty
(
value
=
"编码"
)
private
String
eleRelaCode
;
@ApiModelProperty
(
value
=
"元素关系名称"
)
private
String
rsName
;
@ApiModelProperty
(
value
=
"对象 1"
)
private
Long
object1
;
@ApiModelProperty
(
value
=
"对象 2"
)
private
Long
object2
;
@ApiModelProperty
(
value
=
"适用范围"
)
private
String
scope
;
@ApiModelProperty
(
value
=
"关系描述"
)
private
String
content
;
@ApiModelProperty
(
value
=
"图标"
)
private
String
icon
;
@ApiModelProperty
(
value
=
"图形名称"
)
private
String
iconName
;
@ApiModelProperty
(
value
=
"图标ID"
)
private
String
iconId
;
@ApiModelProperty
(
value
=
"版本"
)
private
String
version
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"元素id"
)
@TableField
(
exist
=
false
)
private
Long
elementId
;
@ApiModelProperty
(
value
=
"编码"
)
@TableField
(
exist
=
false
)
private
String
elementCode
;
@ApiModelProperty
(
value
=
"元素名称"
)
@TableField
(
exist
=
false
)
private
String
elementName
;
@ApiModelProperty
(
value
=
"架构层次"
)
@TableField
(
exist
=
false
)
private
Long
archiLevelId
;
@ApiModelProperty
(
value
=
"架构归属"
)
@TableField
(
exist
=
false
)
private
Long
archiBelongId
;
@ApiModelProperty
(
value
=
"企业架构层级"
)
@TableField
(
exist
=
false
)
private
Integer
eaLevel
;
@ApiModelProperty
(
value
=
"元素类型(1:标准图元;2:常规图元)"
)
@TableField
(
exist
=
false
)
private
Integer
eleType
;
@ApiModelProperty
(
value
=
"图像宽"
)
private
BigDecimal
shapeWidth
;
@ApiModelProperty
(
value
=
"图像高"
)
private
BigDecimal
shapeHeight
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
value
=
"约束条件"
)
private
List
<
ArchiEleRelaConstrainDTO
>
arrList
;
@ApiModelProperty
(
value
=
"元素关系id集合"
)
@TableField
(
exist
=
false
)
private
List
<
Long
>
eleRelaIdList
;
}
arch-overall/src/main/java/org/arch/overall/entity/ArchiEleRelaConstrain.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* 元素关系的约束条件
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName
(
value
=
"archi_ele_rela_constrain"
)
public
class
ArchiEleRelaConstrain
{
/**
* 主键
*/
@TableId
(
value
=
"constrain_id"
,
type
=
IdType
.
INPUT
)
private
Long
constrainId
;
/**
* 对象1
*/
@TableField
(
value
=
"ele_gt_id"
)
private
Long
eleGtId
;
/**
* 对象2
*/
@TableField
(
value
=
"ele_lt_id"
)
private
Long
eleLtId
;
/**
* 对象名称1
*/
@TableField
(
value
=
"ele_gt_name"
)
private
String
eleGtName
;
/**
* 对象名称2
*/
@TableField
(
value
=
"ele_lt_name"
)
private
String
eleLtName
;
/**
* 元素关系ID
*/
@TableField
(
value
=
"ele_rela_id"
)
private
Long
eleRelaId
;
/**
* 元素关系名称
*/
@TableField
(
value
=
"ele_rela_name"
)
private
String
eleRelaName
;
/**
* 适用范围
*/
@TableField
(
value
=
"`scope`"
)
private
Integer
scope
;
/**
* 状态 0:已停用 1:已发布 2:暂存
*/
@TableField
(
value
=
"`state`"
)
private
Integer
state
;
/**
* 创建人
*/
@TableField
(
value
=
"create_man"
)
private
Long
createMan
;
/**
* 创建时间
*/
@TableField
(
value
=
"create_time"
)
private
Date
createTime
;
/**
* 最后一次修改时间
*/
@TableField
(
value
=
"last_update_time"
)
private
Date
lastUpdateTime
;
/**
* 最后一次修改人
*/
@TableField
(
value
=
"last_update_man"
)
private
Long
lastUpdateMan
;
/**
* 是否删除 1:已删除 0:未删除
*/
@TableField
(
value
=
"del_flag"
)
private
Integer
delFlag
;
}
\ No newline at end of file
arch-overall/src/main/java/org/arch/overall/entity/ArchiElement.java
View file @
efeba8b
...
...
@@ -8,7 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.arch.common.
entity.
BaseEntity
;
import
org.arch.common.BaseEntity
;
import
java.math.BigDecimal
;
import
java.util.List
;
...
...
arch-overall/src/main/java/org/arch/overall/entity/ArchiElementNestRelation.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
/**
* <p>
* 上级元素信息
* </p>
*
* @author java
* @since 2024-02-28
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"archi_element_nest_relation"
)
@ApiModel
(
value
=
"ArchiElementNestRelation对象"
,
description
=
"上级元素信息"
)
public
class
ArchiElementNestRelation
{
@ApiModelProperty
(
value
=
"ID"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"所属架构"
)
private
String
ownershipStructure
;
@ApiModelProperty
(
value
=
"架构元素名称"
)
private
String
elementName
;
@ApiModelProperty
(
value
=
"上级元素名称"
)
private
String
parentElement
;
@ApiModelProperty
(
value
=
"是否自嵌套(1是,0否)"
)
private
Integer
nestFlag
;
}
arch-overall/src/main/java/org/arch/overall/entity/ArchiMetaModel.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
org.arch.common.BaseEntity
;
/**
* <p>
* 元模型
* </p>
*
* @author lizhen
* @since 2023-12-01
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@Accessors
(
chain
=
true
)
@TableName
(
"archi_meta_model"
)
@ApiModel
(
value
=
"MetamodelManagement"
,
description
=
"元模型"
)
public
class
ArchiMetaModel
extends
BaseEntity
{
@ApiModelProperty
(
value
=
"主键"
)
@TableId
(
value
=
"meta_model_id"
,
type
=
IdType
.
AUTO
)
private
Long
metaModelId
;
@ApiModelProperty
(
value
=
"编码"
)
private
String
metaModelCode
;
@ApiModelProperty
(
value
=
"版本信息"
)
private
String
version
;
@ApiModelProperty
(
value
=
"版本名称"
)
private
String
verName
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"图形ID"
)
private
Long
graphId
;
@ApiModelProperty
(
value
=
"元模型数据"
)
@TableField
(
exist
=
false
)
private
String
metaModelData
;
@ApiModelProperty
(
value
=
"元模型 SVG"
)
@TableField
(
exist
=
false
)
private
String
metaModelSvg
;
}
arch-overall/src/main/java/org/arch/overall/entity/AssetInfo.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.activerecord.Model
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* <p>
* 业务架构
* </p>
*
* @author author
* @since 2024-01-09
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"archi_asset_info"
)
@ApiModel
(
value
=
"架构资产对象"
,
description
=
"资产架构"
)
public
class
AssetInfo
extends
Model
<
AssetInfo
>
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"架构组件ID"
)
@TableId
(
value
=
"asset_id"
,
type
=
IdType
.
AUTO
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
)
private
Long
assetId
;
@ApiModelProperty
(
value
=
"架构组件名称"
)
private
String
assetName
;
@ApiModelProperty
(
value
=
"资产编码,采用8位阶梯设计编码,通过编码识别层级"
)
private
String
assetCode
;
@ApiModelProperty
(
value
=
"上级架构组件ID"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
)
private
Long
parentAssetId
;
@ApiModelProperty
(
value
=
"上级架构组件名称"
)
private
String
parentAssetName
;
@ApiModelProperty
(
value
=
"父级编码"
)
private
String
parentCode
;
@ApiModelProperty
(
value
=
"版本ID"
)
private
Long
versionId
;
@ApiModelProperty
(
value
=
"架构元素Id"
)
private
Long
archiEleId
;
@ApiModelProperty
(
value
=
"架构类型"
)
private
String
archiType
;
@ApiModelProperty
(
value
=
"架构归属"
)
private
Byte
archiBelongId
;
@ApiModelProperty
(
value
=
"架构资产状态(字典中读取,1:现状态;2:目标态)"
)
private
Byte
archiAssetState
;
@ApiModelProperty
(
value
=
"架构资产类型(架构视图、架构演进路线、业务活动资产等),必传"
)
private
Byte
archiAssetType
;
@ApiModelProperty
(
value
=
"架构阶段(1:总体架构;2:系统架构),必传"
)
private
Integer
archiStage
;
@ApiModelProperty
(
value
=
"架构资产类型关联的ID,目前架构视图关联archi_view表,必传"
)
private
Long
archiAssetTypeId
;
@ApiModelProperty
(
value
=
"关联资产,实际用作兄弟关系连线,可支持多个target"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
ARRAY
)
private
String
targetAsset
;
@ApiModelProperty
(
value
=
"创建时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人"
)
private
Long
createMan
;
@ApiModelProperty
(
value
=
"最后一次修改时间"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"最后一次修改人"
)
private
Long
lastUpdateMan
;
@ApiModelProperty
(
value
=
"JSON综合字段;将架构元素的属性和值利用Json数据存储"
)
private
String
fieldsValue
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column01
;
@ApiModelProperty
(
value
=
"扩展字段"
)
private
String
column02
;
@ApiModelProperty
(
value
=
"组件类型名称"
)
private
String
eleName
;
@ApiModelProperty
(
value
=
"旧版本ID"
)
private
Long
orignVersionId
;
@ApiModelProperty
(
value
=
"排序"
)
private
Integer
sort
;
@ApiModelProperty
(
value
=
"是否首页展示 0 展示 1 不展示"
)
private
Byte
isShow
;
@ApiModelProperty
(
value
=
"原架构ID"
)
private
Long
orignAssetId
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
private
Integer
delFlag
;
@ApiModelProperty
(
value
=
"资产常量,必传。"
)
@TableField
(
exist
=
false
)
private
String
assetConstant
;
@ApiModelProperty
(
value
=
"版本"
)
private
String
version
;
@ApiModelProperty
(
value
=
"状态 0:已停用 1:已发布 2:暂存"
)
private
Integer
state
;
@ApiModelProperty
(
value
=
"承建类型:1统推,2自建"
)
@TableField
(
"build_type"
)
private
Integer
buildType
;
@ApiModelProperty
(
value
=
"来源:0系统资产,1总体资产,2概设关联业务管理同步更新"
)
private
Integer
isExtend
;
@TableField
(
exist
=
false
)
// 表示数据库里不存在此字段
@ApiModelProperty
(
value
=
"架构资产子节点树"
)
private
List
<
AssetInfo
>
children
;
@ApiModelProperty
(
value
=
"颜色"
)
private
String
color
;
@ApiModelProperty
(
value
=
"上级元素名称"
)
private
String
parentElement
;
@ApiModelProperty
(
value
=
"资产编号"
)
private
String
assetNumber
;
@ApiModelProperty
(
value
=
"图形库ID"
)
private
Long
graphId
;
@ApiModelProperty
(
value
=
"图标"
)
@TableField
(
exist
=
false
)
private
String
icon
;
@ApiModelProperty
(
value
=
"图形名称"
)
@TableField
(
exist
=
false
)
private
String
iconName
;
@ApiModelProperty
(
value
=
"上级资产"
)
private
String
parentAsset
;
@ApiModelProperty
(
value
=
"资产ID"
)
@TableField
(
exist
=
false
)
private
String
id
;
@Override
public
Serializable
pkVal
()
{
return
this
.
assetId
;
}
}
arch-overall/src/main/java/org/arch/overall/entity/OnlineReviewWrite.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
entity
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.experimental.Accessors
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* <p>
* 概设材料在线意见编制
* </p>
*
* @author java
* @since 2024-03-18
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors
(
chain
=
true
)
@TableName
(
"online_review_write"
)
@ApiModel
(
value
=
"OnlineReviewWrite对象"
,
description
=
"概设材料在线意见编制"
)
public
class
OnlineReviewWrite
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"主键"
)
@TableId
(
value
=
"idea_id"
,
type
=
IdType
.
AUTO
)
private
Long
ideaId
;
@ApiModelProperty
(
value
=
"意见编码"
)
@TableField
(
"idea_code"
)
private
String
ideaCode
;
@ApiModelProperty
(
value
=
"概设材料在线意见编制sheet(1:概设材料修改,2:意见生成与流转)"
)
@TableField
(
"idea_type"
)
private
Long
ideaType
;
@ApiModelProperty
(
value
=
"年度"
)
@TableField
(
"year"
)
private
String
year
;
@ApiModelProperty
(
value
=
"批次计划"
)
@TableField
(
"bat_plan_id"
)
private
Long
batPlanId
;
@ApiModelProperty
(
value
=
"批次名称"
)
@TableField
(
"bat_name"
)
private
String
batName
;
@ApiModelProperty
(
value
=
"需求Id"
)
@TableField
(
"need_id"
)
private
Long
needId
;
@ApiModelProperty
(
value
=
"需求名称"
)
@TableField
(
"need_name"
)
private
String
needName
;
@ApiModelProperty
(
value
=
"项目Id"
)
@TableField
(
"prj_id"
)
private
Long
prjId
;
@ApiModelProperty
(
value
=
"项目名称"
)
@TableField
(
"prj_name"
)
private
String
prjName
;
@ApiModelProperty
(
value
=
"关联机构Id"
)
@TableField
(
"org_id"
)
private
Long
orgId
;
@ApiModelProperty
(
value
=
"关联机构名称"
)
@TableField
(
"org_name"
)
private
String
orgName
;
@ApiModelProperty
(
value
=
"评审材料名称"
)
@TableField
(
"require_name"
)
private
String
requireName
;
@ApiModelProperty
(
value
=
"附件ID"
)
@TableField
(
"file_id"
)
private
Long
fileId
;
@ApiModelProperty
(
value
=
"附件URL"
)
@TableField
(
"file_url"
)
private
String
fileUrl
;
@ApiModelProperty
(
value
=
"推送状态(1:已反馈 2:未反馈)"
)
@TableField
(
"push_state"
)
private
Long
pushState
;
@ApiModelProperty
(
value
=
"发送状态(1:发送成功 2:未发送 3:发送失败)"
)
@TableField
(
"send_state"
)
private
Long
sendState
;
@ApiModelProperty
(
value
=
"剩余时间"
)
@TableField
(
"excess_time"
)
private
String
excessTime
;
@ApiModelProperty
(
value
=
"评审意见"
)
@TableField
(
"review_suggestion"
)
private
String
reviewSuggestion
;
@ApiModelProperty
(
value
=
"在线评审状态(1:通过 0:未通过 2:待评审)"
)
@TableField
(
"online_review_state"
)
private
Integer
onlineReviewState
;
@ApiModelProperty
(
value
=
"创建人"
)
@TableField
(
"create_man"
)
private
Integer
createMan
;
@ApiModelProperty
(
value
=
"创建时间"
)
@TableField
(
"create_time"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"最后更新人"
)
@TableField
(
"last_update_man"
)
private
Integer
lastUpdateMan
;
@ApiModelProperty
(
value
=
"最后更新时间"
)
@TableField
(
"last_update_time"
)
private
Date
lastUpdateTime
;
@ApiModelProperty
(
value
=
"是否删除 1:已删除 0:未删除"
)
@TableField
(
"del_flag"
)
private
Integer
delFlag
;
}
arch-overall/src/main/java/org/arch/overall/mapper/ArchiAbilityAssetsRelationMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
import
org.arch.common.archoverall.dto.ArchiAbilityInventoryDataDTO
;
import
org.arch.common.archoverall.dto.ArchiAssetsRelationQueryDTO
;
import
org.arch.common.archoverall.vo.ArchiAbilityAssetsRelationQueryVO
;
import
org.arch.overall.entity.ArchiAbilityAssetsRelation
;
import
java.util.List
;
/**
* 中台服务清单关联资产(资产关联,中台架构服务,其他四大架构资产)(ArchiAbilityAssetsRelation)表数据库访问层
*
* @author makejava
* @since 2024-04-29 14:27:33
*/
public
interface
ArchiAbilityAssetsRelationMapper
extends
BaseMapper
<
ArchiAbilityAssetsRelation
>
{
void
addBach
(
@Param
(
"entities"
)
List
<
ArchiAbilityAssetsRelation
>
assetsList
);
/**
* 批量删除
*
* @param assetsList 资产清单
* @return {@link Boolean }
*/
Boolean
removeBatchIds
(
@Param
(
"list"
)
List
<
Long
>
assetsList
);
IPage
<
ArchiAbilityAssetsRelation
>
qryDataListPage
(
@Param
(
"dto"
)
ArchiAbilityInventoryDataDTO
params
,
Page
<
ArchiAbilityAssetsRelation
>
page
);
/**
* 查询资产关系
*
* @param params 参数
* @return {@link IPage }<{@link ArchiAbilityAssetsRelationQueryVO }>
*/
IPage
<
ArchiAbilityAssetsRelationQueryVO
>
queryAssetRelation
(
@Param
(
"params"
)
ArchiAssetsRelationQueryDTO
params
,
Page
<
ArchiAssetsRelationQueryDTO
>
page
);
/**
* 查询资产关系
*
* @param params 参数
* @return {@link IPage }<{@link ArchiAbilityAssetsRelationQueryVO }>
*/
ArchiAbilityAssetsRelationQueryVO
queryAssetRelation
(
@Param
(
"params"
)
ArchiAssetsRelationQueryDTO
params
);
/**
* 资产关系数量
*
* @param assetRelaId 资产关系ID
* @return {@link Long }
*/
Long
queryAssetRelationCountByTypeId
(
long
assetRelaId
);
}
arch-overall/src/main/java/org/arch/overall/mapper/ArchiAssertMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
import
org.arch.common.archoverall.dto.ArchiAssetInfoDTO
;
import
org.arch.common.archoverall.dto.NeedInfoDTO
;
import
org.arch.common.archoverall.dto.OnlineReviewCountQueryDTO
;
import
org.arch.common.archoverall.dto.OnlineReviewWriteDTO
;
import
org.arch.common.archoverall.vo.NeedReviewVo
;
import
org.arch.common.archoverall.vo.OnlineReviewCountVO
;
import
org.arch.overall.entity.AssetInfo
;
import
org.arch.overall.entity.OnlineReviewWrite
;
import
java.util.List
;
public
interface
ArchiAssertMapper
extends
BaseMapper
<
AssetInfo
>
{
List
<
AssetInfo
>
maxVer
(
ArchiAssetInfoDTO
params
);
IPage
<
NeedReviewVo
>
qyNeedReview
(
@Param
(
"page"
)
Page
<
Object
>
page
,
@Param
(
"nigr"
)
NeedInfoDTO
nigr
);
IPage
<
OnlineReviewWrite
>
qyOnlineReview
(
@Param
(
"onl"
)
OnlineReviewWriteDTO
params
,
@Param
(
"page"
)
Page
<
OnlineReviewWrite
>
page
);
List
<
OnlineReviewWrite
>
qyOnlineReview
(
@Param
(
"onl"
)
OnlineReviewWriteDTO
params
);
/**
* 概设关联业务管理-概设统计分析-各单位概设统计
*/
IPage
<
OnlineReviewCountVO
>
qyneedCount
(
@Param
(
"orcy"
)
OnlineReviewCountQueryDTO
params
,
@Param
(
"page"
)
Page
<
OnlineReviewCountVO
>
page
);
List
<
OnlineReviewCountVO
>
qyreviewPassCount
(
@Param
(
"orcy"
)
OnlineReviewCountQueryDTO
params
);
IPage
<
OnlineReviewCountVO
>
qybatNeedCount
(
@Param
(
"orqy"
)
OnlineReviewCountQueryDTO
params
,
@Param
(
"page"
)
Page
<
OnlineReviewCountVO
>
page
);
List
<
OnlineReviewCountVO
>
qybatReviewPassCount
(
@Param
(
"orqy"
)
OnlineReviewCountQueryDTO
params
);
}
\ No newline at end of file
arch-overall/src/main/java/org/arch/overall/mapper/ArchiAssetInfoMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
org.arch.common.archoverall.dto.ArchiAssetInfoDTO
;
import
org.arch.overall.entity.AssetInfo
;
import
org.arch.common.archoverall.dto.WordContentDTO
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 业务架构 Mapper 接口
* </p>
*
* @author author
* @since 2024-01-09
*/
@Mapper
public
interface
ArchiAssetInfoMapper
extends
MPJBaseMapper
<
AssetInfo
>
{
@Select
(
"select (SELECT CONCAT((SELECT REPLACE((select date_format(now(), '%Y-%m-%d')),CHAR(45),'')),'-V',(SELECT (select date_format(now(), '%Y')) - 2023 +1),'.',(select date_format(now(), '%m')),'.','1'))\r\n"
+
" as version"
)
String
selectVer
();
/**
* 分页列表查询
*
* @param params 参数
* @param page 页
* @return {@link IPage}<{@link AssetInfo}>
*/
IPage
<
AssetInfo
>
query
(
@Param
(
"params"
)
ArchiAssetInfoDTO
params
,
Page
<
AssetInfo
>
page
);
/**
* 列表查询
*
* @param params 参数
* @return {@link List }<{@link AssetInfo }>
*/
List
<
AssetInfo
>
query
(
@Param
(
"params"
)
ArchiAssetInfoDTO
params
);
/**
* 架构资产信息详情
*
* @param assetId 资产 ID
* @return {@link AssetInfo}
*/
AssetInfo
info
(
Long
assetId
);
/**
* 自动生成编号
* @param superiorAssetCode 上级编码
* @param rchiType 架构类型
* @param num 级别层次
* @return
*/
Integer
getArchiAssetMaxNum
(
@Param
(
"rchiType"
)
String
rchiType
,
@Param
(
"superiorAssetCode"
)
String
superiorAssetCode
,
@Param
(
"num"
)
int
num
,
@Param
(
"archiStage"
)
String
archiStage
);
/**
* @param params 查询
* @return
*/
Map
<
String
,
String
>
searhByKeyword
(
@Param
(
"params"
)
WordContentDTO
params
);
}
arch-overall/src/main/java/org/arch/overall/mapper/ArchiAssetSystemMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.arch.overall.entity.ArchiAssetSystem
;
/**
* <p>
* 架构版本 Mapper 接口
* </p>
*
* @author author
* @since 2024-01-16
*/
@Mapper
public
interface
ArchiAssetSystemMapper
extends
MPJBaseMapper
<
ArchiAssetSystem
>
{
}
arch-overall/src/main/java/org/arch/overall/mapper/ArchiElePropertyMapper.java
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.arch.overall.entity.ArchiEleProperty
;
public
interface
ArchiElePropertyMapper
extends
BaseMapper
<
ArchiEleProperty
>
{
import
java.util.List
;
public
interface
ArchiElePropertyMapper
extends
BaseMapper
<
ArchiEleProperty
>
{
List
<
ArchiEleProperty
>
gtArchiElePropertyList
(
@Param
(
"yp"
)
ArchiEleProperty
ynMolProyls
);
}
arch-overall/src/main/java/org/arch/overall/mapper/ArchiEleRelaConstrainMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.arch.common.archoverall.vo.ArchiEleRelaVO
;
import
org.arch.overall.entity.ArchiEleRelaConstrain
;
import
java.util.List
;
public
interface
ArchiEleRelaConstrainMapper
extends
BaseMapper
<
ArchiEleRelaConstrain
>
{
/**
* 批量添加
*/
void
batchInsert
(
List
<
ArchiEleRelaConstrain
>
list
);
/**
* 根据元素关系,删除元素关系
*
* @param eleRelaId 元素关系 ID
*/
void
delByRelaId
(
Long
eleRelaId
);
/**
* 根据元素关系编码查询约束条件
*
* @param eleRelaId 元素关系ID
* @return {@link List}<{@link ArchiEleRelaConstrain}>
*/
List
<
ArchiEleRelaConstrain
>
getArchiEleRelaConstraint
(
Long
eleRelaId
);
/**
* 根据元素关系ID查询元素关系
* 元素带属性
*
* @param constrainId 约束 ID
* @return {@link List}<{@link ArchiEleRelaVO}>
*/
List
<
ArchiEleRelaVO
>
findEleRelaConstrainList
(
Long
constrainId
);
}
\ No newline at end of file
arch-overall/src/main/java/org/arch/overall/mapper/ArchiEleRelaMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
import
org.arch.common.archoverall.dto.ArchiEleRelaDTO
;
import
org.arch.common.archoverall.vo.ArchiEleRelaNameVO
;
import
org.arch.overall.entity.ArchiEleRela
;
import
java.util.List
;
public
interface
ArchiEleRelaMapper
extends
BaseMapper
<
ArchiEleRela
>
{
/**
* 分页
*
* @param dto 参数
* @param page 页
* @return {@link IPage }<{@link ArchiEleRela }>
*/
IPage
<
ArchiEleRela
>
gtArchiEleRela
(
@Param
(
"dto"
)
ArchiEleRelaDTO
dto
,
Page
<
Object
>
page
);
/**
* 列表
*
* @param dto DTO
* @return {@link List }<{@link ArchiEleRela }>
*/
List
<
ArchiEleRela
>
gtEleRelList
(
@Param
(
"dto"
)
ArchiEleRelaDTO
dto
);
/**
* 查询资产关系
*
*/
List
<
ArchiEleRelaNameVO
>
findEleRelaList
();
/**
* 获取版本
*
* @param eleRelaId 元素关系 ID
* @return {@link String }
*/
String
getVersion
(
@Param
(
"eleRelaId"
)
Long
eleRelaId
);
}
arch-overall/src/main/java/org/arch/overall/mapper/ArchiElementMapper.java
View file @
efeba8b
...
...
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.arch.
modules
.archoverall.dto.ArchiElementDTO
;
import
org.arch.
common
.archoverall.dto.ArchiElementDTO
;
import
org.arch.overall.entity.ArchiElement
;
import
java.util.List
;
...
...
arch-overall/src/main/java/org/arch/overall/mapper/ArchiElementNestRelationMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.arch.overall.entity.ArchiElementNestRelation
;
/**
* <p>
* 需求管理信息 Mapper 接口
* </p>
*
* @author java
* @since 2024-03-05
*/
@Mapper
public
interface
ArchiElementNestRelationMapper
extends
MPJBaseMapper
<
ArchiElementNestRelation
>
{
}
arch-overall/src/main/java/org/arch/overall/mapper/ArchiMetaModelMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.yulichang.base.MPJBaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.arch.common.archoverall.dto.ArchiMetaModelDTO
;
import
org.arch.overall.entity.ArchiMetaModel
;
import
java.util.List
;
public
interface
ArchiMetaModelMapper
extends
MPJBaseMapper
<
ArchiMetaModel
>
{
List
<
ArchiMetaModel
>
selectVer
();
/**
* 元模型列表
*
* @param dto DTO
* @param page 页
* @return {@link IPage }<{@link ArchiMetaModel }>
*/
IPage
<
ArchiMetaModel
>
getYnMol
(
@Param
(
"dto"
)
ArchiMetaModelDTO
dto
,
Page
<
Object
>
page
);
/**
* 更新 MX 图形模型
*
* @param metaModelId 元模型 ID
* @param graphId 图形 ID
* @return {@link Boolean}
*/
Boolean
updateMxGraphModel
(
@Param
(
"metaModelId"
)
Long
metaModelId
,
@Param
(
"graphId"
)
Long
graphId
);
/**
* 根据元模型id获取mxCell
*
* @param metaModelId 元模型id
* @return {@link String}
*/
String
getMxCellByMetaModelId
(
Long
metaModelId
);
/**
* 查询架构原模型
*
* @param id 同上
* @return {@link ArchiMetaModel}
*/
ArchiMetaModel
findMetaModelById
(
Long
id
);
}
arch-overall/src/main/java/org/arch/overall/mapper/ArchiTotalAssertMapper.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.arch.common.archoverall.dto.ArchiAssetDTO
;
import
org.arch.common.archoverall.dto.ArchiViewDTO
;
import
org.arch.common.archoverall.vo.ArchiAssetVO
;
import
org.arch.common.archoverall.vo.ArchiVersionVO
;
import
org.arch.common.archoverall.vo.ArchiViewVO
;
import
java.util.List
;
public
interface
ArchiTotalAssertMapper
extends
BaseMapper
{
/**
* 总体架构资产自动图形化
*
* @param model 参数
* @return {@link List}<{@link ArchiAssetVO}>
*/
List
<
ArchiAssetVO
>
automaticGraphing
(
ArchiAssetDTO
model
);
/**
* 总体架构资产智能搜索
*
* @param model 参数
* @return {@link List}<{@link ArchiAssetVO}>
*/
List
<
ArchiAssetVO
>
treeList
(
ArchiAssetDTO
model
);
/**
* 总体架构可视化展示
*
* @param model 参数
* @return {@link List}<{@link ArchiAssetVO}>
*/
List
<
ArchiAssetVO
>
treeListView
(
ArchiAssetDTO
model
);
/**
* 查询视图
*
* @param params 参数
* @return {@link List}<{@link ArchiViewVO}>
*/
List
<
ArchiViewVO
>
queryView
(
ArchiViewDTO
params
);
/**
* 查询架构版本
*
* @param params 参数
* @return {@link List}<{@link ArchiVersionVO}>
*/
List
<
ArchiVersionVO
>
queryArchiVersion
(
ArchiVersionVO
params
);
/**
* 根据元素查询对应的资产
*
* @param elementId 元素 ID
* @return {@link List }<{@link ArchiAssetVO }>
*/
List
<
ArchiAssetVO
>
findAssertByElementId
(
@Param
(
"elementId"
)
Long
elementId
);
}
\ No newline at end of file
arch-overall/src/main/java/org/arch/overall/service/ArchiAssetInfoService.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.arch.common.archoverall.dto.ArchiAssetInfoDTO
;
import
org.arch.common.archoverall.dto.ArchiAssetVisalDTO
;
import
org.arch.common.archoverall.dto.DelDTO
;
import
org.arch.common.archoverall.vo.ArchVisualVO
;
import
org.arch.overall.dto.ArchiDto
;
import
org.arch.overall.entity.ArchiElementNestRelation
;
import
org.arch.overall.entity.AssetInfo
;
import
java.util.List
;
import
java.util.Map
;
/**
* <p>
* 资产架构 服务类
* </p>
*
* @author author
* @since 2024-01-09
*/
public
interface
ArchiAssetInfoService
extends
IService
<
AssetInfo
>
{
/**
* 资产分页
*
* @param params 参数
* @return {@link IPage }<{@link AssetInfo }>
*/
IPage
<
AssetInfo
>
iPage
(
ArchiAssetInfoDTO
params
);
/**
* 资产列表
*
* @param params 参数
* @return {@link List }<{@link AssetInfo }>
*/
List
<
AssetInfo
>
assetList
(
ArchiAssetInfoDTO
params
);
Boolean
inster
(
ArchiAssetInfoDTO
params
);
/**
* 架构资产信息详情
*
* @param assetId 资产 ID
* @return {@link AssetInfo}
*/
AssetInfo
info
(
Long
assetId
);
Boolean
update
(
ArchiAssetInfoDTO
params
);
/**
* 批量删除
*
* @param requestMap 参数
* @return {@link Boolean }
*/
Boolean
delBatch
(
DelDTO
requestMap
);
String
selectVer
();
List
<
AssetInfo
>
qryTree
(
ArchiDto
frameworkDto
);
List
<
ArchiElementNestRelation
>
qyLastEle
(
ArchiAssetInfoDTO
params
);
Map
<
ArchiAssetInfoDTO
,
List
<
ArchiAssetInfoDTO
>>
getArchVisual
(
ArchVisualVO
archVisualVO
);
List
<
Map
<
String
,
Object
>>
getAssetVisalFirst
(
ArchiAssetVisalDTO
archiAssetVisalDTO
);
}
arch-overall/src/main/java/org/arch/overall/service/ArchiAssetService.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
service
;
import
cn.hutool.core.lang.tree.Tree
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.arch.common.archoverall.dto.*
;
import
org.arch.common.archoverall.vo.ArchiAbilityAssetsRelationQueryVO
;
import
org.arch.common.archoverall.vo.ArchiAssetVO
;
import
org.arch.common.archoverall.vo.ArchiVersionVO
;
import
org.arch.common.archoverall.vo.MxCellVO
;
import
org.arch.overall.entity.AssetInfo
;
import
java.util.List
;
/**
* 资产服务
*
* @author admin
* @date 2024/01/24
*/
public
interface
ArchiAssetService
{
/**
* 总体架构资产自动图形化
*
* @param model 参数
* @return {@link List}<{@link ArchiAssetVO}>
*/
List
<
Tree
<
String
>>
automaticGraphing
(
ArchiAssetDTO
model
);
/**
* 总体架构资产智能搜索
*
* @param model 参数
* @return {@link List}<{@link ArchiAssetVO}>
*/
List
<
ArchiAssetVO
>
treeList
(
ArchiAssetDTO
model
);
/**
* 根据元素查询对应的资产
*
* @param elementId 元素 ID
* @return {@link List }<{@link ArchiAssetVO }>
*/
List
<
ArchiAssetVO
>
findAssertByElementId
(
Long
elementId
);
/**
* 总体架构可视化展示
*
* @param model 参数
* @return {@link List}<{@link ArchiAssetVO}>
*/
List
<
ArchiAssetVO
>
treeListView
(
ArchiAssetDTO
model
);
/**
* 根据元模型id获取mxCell
*
* @param metaModelId 元模型id
*/
List
<
MxCellVO
>
getMxCellByMetaModelId
(
Long
metaModelId
);
/**
* 架构资产版本
*
* @param params 参数
* @return {@link List}<{@link ArchiVersionVO}>
*/
List
<
ArchiVersionVO
>
queryArchiVersion
(
ArchiVersionVO
params
);
//------------------------------------资产关系------------------------------------
/**
* 添加资产关系
*
* @param params 参数
* @return {@link Boolean }
*/
Boolean
addAssetRelation
(
ArchiAssetsRelationDTO
params
);
/**
* 修改资产
*
* @param params 参数
* @return {@link Boolean }
*/
Boolean
updateAssetRelation
(
ArchiAssetsRelationDTO
params
);
/**
* 删除资产关系
*
* @param dto DTO
* @return {@link Boolean }
*/
Boolean
del
(
BatchRemoveDTO
dto
);
/**
* 发布/停用
*
* @param dto DTO
* @return {@link Boolean }
*/
Boolean
post
(
ArchiRelaSatePostDTO
dto
);
/**
* 查询资产关系
*
* @param params 参数
* @return {@link IPage }<{@link ArchiAbilityAssetsRelationQueryVO }>
*/
IPage
<
ArchiAbilityAssetsRelationQueryVO
>
queryAssetRelation
(
ArchiAssetsRelationQueryDTO
params
);
/**
* 查询资产关系详情
*
* @param params 参数
* @return {@link List}<{@link ArchiAbilityAssetsRelationQueryVO}>
*/
ArchiAbilityAssetsRelationQueryVO
queryAssetRelationDetail
(
ArchiAssetsRelationQueryDTO
params
);
/**
* 最大版本
*
* @param params 参数
* @return {@link List }<{@link AssetInfo }>
*/
List
<
AssetInfo
>
maxVer
(
ArchiAssetInfoDTO
params
);
}
arch-overall/src/main/java/org/arch/overall/service/ArchiElePropertyService.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.arch.overall.entity.ArchiEleProperty
;
import
java.util.List
;
import
java.util.Map
;
public
interface
ArchiElePropertyService
extends
IService
<
ArchiEleProperty
>{
List
<
ArchiEleProperty
>
gtArchiElePropertyList
(
ArchiEleProperty
ynMolProyls
);
/**
* 批量修改属性
*
* @param requestList 请求列表
* @return {@link Boolean }
*/
Boolean
updateEleRelBatch
(
List
<
Map
<
String
,
Object
>>
requestList
);
}
arch-overall/src/main/java/org/arch/overall/service/ArchiEleRelaService.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.arch.common.archoverall.dto.ArchiEleRelaConstrainDTO
;
import
org.arch.common.archoverall.dto.ArchiEleRelaDTO
;
import
org.arch.common.archoverall.dto.BatchUpdateRelaDTO
;
import
org.arch.common.archoverall.vo.ArchiEleRelaNameVO
;
import
org.arch.common.archoverall.vo.ArchiEleRelaVO
;
import
org.arch.overall.entity.ArchiEleRela
;
import
java.util.List
;
public
interface
ArchiEleRelaService
extends
IService
<
ArchiEleRela
>
{
/**
* 分页查询元素关系
*
* @param dto DTO
* @return {@link IPage }<{@link ArchiEleRela }>
*/
IPage
<
ArchiEleRela
>
gtArchiEleRela
(
ArchiEleRelaDTO
dto
);
/**
* 列表
*
* @param dto DTO
* @return {@link List }<{@link ArchiEleRela }>
*/
List
<
ArchiEleRela
>
gtEleRelList
(
ArchiEleRelaDTO
dto
);
/**
* 根据元素关系编码查询约束条件
*
* @param eleRelaId 元素关系ID
*/
List
<
ArchiEleRelaConstrainDTO
>
getArchiEleRelaConstraint
(
Long
eleRelaId
);
/**
* 根据元素关系ID查询元素关系
* 元素带属性
*
* @param constrainId 约束 ID
* @return {@link List}<{@link ArchiEleRelaVO}>
*/
List
<
ArchiEleRelaVO
>
findEleRelaConstrainList
(
Long
constrainId
);
/**
* 查询资产关系
*
* @return {@link List}<{@link ArchiEleRelaVO}>
*/
List
<
ArchiEleRelaNameVO
>
findEleRelaList
();
/**
* 批量发布
*
* @param requestMap 参数
* @return {@link Boolean }
*/
Boolean
updBatch
(
BatchUpdateRelaDTO
requestMap
);
/**
* 删除
*
* @param params 参数
* @return {@link Boolean }
*/
Boolean
del
(
ArchiEleRela
params
);
/**
* 插入
*
* @param params 参数
* @return {@link Boolean }
*/
Boolean
insert
(
ArchiEleRela
params
);
/**
* 更新
*
* @param params 参数
* @return {@link Boolean }
*/
Boolean
update
(
ArchiEleRela
params
);
/**
* 批量新增元素和元素关系
*
* @param archiEleRelas 对象
*/
void
addArchiEleRelaConstraint
(
ArchiEleRela
archiEleRelas
);
}
arch-overall/src/main/java/org/arch/overall/service/ArchiElementService.java
View file @
efeba8b
...
...
@@ -2,8 +2,8 @@ package org.arch.overall.service;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
org.arch.
modules
.archoverall.dto.ArchiElementDTO
;
import
org.arch.
modules
.archoverall.dto.BatchUpdateDTO
;
import
org.arch.
common
.archoverall.dto.ArchiElementDTO
;
import
org.arch.
common
.archoverall.dto.BatchUpdateDTO
;
import
org.arch.overall.entity.ArchiEleProperty
;
import
org.arch.overall.entity.ArchiElement
;
...
...
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiAssertServiceImpl.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.date.StopWatch
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.lang.tree.Tree
;
import
cn.hutool.core.lang.tree.TreeNode
;
import
cn.hutool.core.lang.tree.TreeNodeConfig
;
import
cn.hutool.core.lang.tree.TreeUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO
;
import
com.mxgraph.io.mxCodec
;
import
com.mxgraph.model.mxCell
;
import
com.mxgraph.util.mxXmlUtils
;
import
lombok.RequiredArgsConstructor
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
org.arch.common.archoverall.dto.*
;
import
org.arch.common.archoverall.vo.ArchiAbilityAssetsRelationQueryVO
;
import
org.arch.common.archoverall.vo.ArchiAssetVO
;
import
org.arch.common.archoverall.vo.ArchiVersionVO
;
import
org.arch.common.archoverall.vo.MxCellVO
;
import
org.arch.enums.ArchiStateEnum
;
import
org.arch.overall.entity.ArchiAbilityAssetsRelation
;
import
org.arch.overall.entity.AssetInfo
;
import
org.arch.overall.mapper.ArchiAbilityAssetsRelationMapper
;
import
org.arch.overall.mapper.ArchiAssertMapper
;
import
org.arch.overall.mapper.ArchiMetaModelMapper
;
import
org.arch.overall.mapper.ArchiTotalAssertMapper
;
import
org.arch.overall.service.ArchiAssetService
;
import
org.arch.overall.utils.MxFileUtil
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.w3c.dom.Document
;
import
org.w3c.dom.NodeList
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
java.util.stream.IntStream
;
import
static
cn
.
hutool
.
core
.
collection
.
CollUtil
.
isEmpty
;
@Service
@RequiredArgsConstructor
@Slf4j
public
class
ArchiAssertServiceImpl
implements
ArchiAssetService
{
private
final
ArchiTotalAssertMapper
archiTotalAssertMapper
;
private
final
ArchiAssertMapper
archiMapper
;
private
final
ArchiMetaModelMapper
archiMetaModelMapper
;
private
final
ArchiAbilityAssetsRelationMapper
archiAbilityAssetsRelationMapper
;
/**
* 获取树节点
*
* @param model 资产级别
* @return {@link TreeNode}<{@link Long}>
*/
private
static
TreeNode
<
String
>
getTreeNode
(
ArchiAssetVO
model
)
{
TreeNode
<
String
>
treeNode
=
new
TreeNode
<>();
treeNode
.
setId
(
String
.
valueOf
(
model
.
getAssetId
()));
treeNode
.
setParentId
(
String
.
valueOf
(
model
.
getParentAssetId
()));
treeNode
.
setName
(
model
.
getAssetName
());
treeNode
.
setExtra
(
BeanUtil
.
beanToMap
(
model
));
return
treeNode
;
}
/**
* 自动根据模型生成架构图。
*
* @param model 包含架构资产信息的模型对象,用于生成架构图。
* @return 返回一个包含树结构的列表,每个树结构代表一个架构资产及其子资产的关系。
*/
@Override
public
List
<
Tree
<
String
>>
automaticGraphing
(
ArchiAssetDTO
model
)
{
// 初始化计时器,用于记录生成架构图的耗时
StopWatch
stopWatch
=
new
StopWatch
(
"总体架构资产自动成图"
);
try
{
stopWatch
.
start
(
"自动成图"
);
// 根据模型查询相关的架构资产信息
List
<
ArchiAssetVO
>
archiAssets
=
archiTotalAssertMapper
.
automaticGraphing
(
model
);
// 如果查询结果为空,则记录日志并返回空列表
if
(
isEmpty
(
archiAssets
))
{
log
.
info
(
"No assets found for the given model."
);
return
new
ArrayList
<>();
}
// 配置树节点的生成规则
TreeNodeConfig
treeNodeConfig
=
new
TreeNodeConfig
();
// 设置树的深度,默认为20
treeNodeConfig
.
setDeep
(
Optional
.
ofNullable
(
model
.
getDeep
()).
orElse
(
20
));
// 根据查询到的架构资产信息,生成树结构
List
<
Tree
<
String
>>
build
=
TreeUtil
.
build
(
archiAssets
,
"0"
,
treeNodeConfig
,
(
node
,
tree
)
->
{
// 设置树的id,即架构资产的id
tree
.
setId
(
String
.
valueOf
(
node
.
getAssetId
()));
// 设置树的名字,即架构资产的名字
tree
.
setName
(
node
.
getAssetName
());
// 设置树的父id,即架构资产的父id
tree
.
setParentId
(
String
.
valueOf
(
node
.
getParentAssetId
()));
tree
.
putExtra
(
"parentAssetName"
,
node
.
getParentAssetName
());
// 设置树的额外信息,即架构资产的名字
tree
.
putExtra
(
"assetName"
,
node
.
getAssetName
());
// 设置树的额外信息,即架构元素的名称
tree
.
putExtra
(
"elementId"
,
node
.
getElementId
());
tree
.
putExtra
(
"elementName"
,
node
.
getElementName
());
});
// 记录生成架构图的耗时,并打印到日志中
stopWatch
.
stop
();
String
s
=
stopWatch
.
prettyPrint
(
TimeUnit
.
MILLISECONDS
);
log
.
info
(
"总体架构资产自动成图,耗费时间详情:\n{}"
,
s
);
return
build
;
}
catch
(
Exception
e
)
{
// 处理生成架构图过程中可能发生的异常,并抛出运行时异常
log
.
error
(
"Failed to generate tree from model."
,
e
);
throw
new
RuntimeException
(
"Failed to generate tree from model due to internal error."
,
e
);
}
}
/**
* 总体架构资产智能搜索
*
* @param model 参数
* @return {@link List}<{@link ArchiAssetVO}>
*/
@Override
public
List
<
ArchiAssetVO
>
treeList
(
ArchiAssetDTO
model
)
{
StopWatch
stopWatch
=
new
StopWatch
(
"总体架构资产智能搜索"
);
stopWatch
.
start
(
"查询数据"
);
List
<
ArchiAssetVO
>
list
=
new
ArrayList
<>();
List
<
ArchiAssetVO
>
assetType
=
archiTotalAssertMapper
.
treeList
(
model
);
stopWatch
.
stop
();
assetType
.
parallelStream
().
forEachOrdered
(
it
->
{
stopWatch
.
start
(
it
.
getAssetName
());
ArchiAssetVO
vo
=
new
ArchiAssetVO
();
vo
.
setAssetId
(
it
.
getAssetId
());
vo
.
setAssetName
(
it
.
getAssetName
());
List
<
ArchiAssetVO
>
children
=
it
.
getSubList
();
if
(
CollUtil
.
isNotEmpty
(
children
))
{
List
<
TreeNode
<
String
>>
collect
=
children
.
parallelStream
().
map
(
ArchiAssertServiceImpl:
:
getTreeNode
).
collect
(
Collectors
.
toList
());
List
<
Tree
<
String
>>
childrenTrees
=
TreeUtil
.
build
(
collect
,
"0"
);
vo
.
setChildren
(
childrenTrees
);
}
stopWatch
.
stop
();
list
.
add
(
vo
);
});
String
s
=
stopWatch
.
prettyPrint
(
TimeUnit
.
MILLISECONDS
);
log
.
info
(
"总体架构资产智能搜索,耗费时间详情:\n{}"
,
s
);
return
list
;
}
@Override
public
List
<
ArchiAssetVO
>
findAssertByElementId
(
Long
elementId
)
{
return
archiTotalAssertMapper
.
findAssertByElementId
(
elementId
);
}
@SneakyThrows
@Override
public
List
<
ArchiAssetVO
>
treeListView
(
ArchiAssetDTO
model
)
{
StopWatch
stopWatch
=
new
StopWatch
(
"总体架构资产可视化展示"
);
stopWatch
.
start
(
"查询数据"
);
model
.
setArchiAssetState
(
2
);
List
<
ArchiAssetVO
>
list
=
new
ArrayList
<>();
List
<
ArchiAssetVO
>
assetTypes
=
archiTotalAssertMapper
.
treeListView
(
model
);
Map
<
Long
,
List
<
ArchiAssetVO
>>
listMap
=
assetTypes
.
stream
().
collect
(
Collectors
.
groupingBy
(
ArchiAssetVO:
:
getArchiEleId
));
stopWatch
.
stop
();
stopWatch
.
start
(
"递归查询"
);
listMap
.
forEach
((
k
,
v
)
->
{
ArchiAssetVO
vo
=
new
ArchiAssetVO
();
vo
.
setAssetId
(
k
);
vo
.
setAssetName
(
v
.
get
(
0
).
getEleName
());
List
<
TreeNode
<
String
>>
collect
=
assetTypes
.
parallelStream
().
map
(
ArchiAssertServiceImpl:
:
getTreeNode
).
collect
(
Collectors
.
toList
());
List
<
Tree
<
String
>>
build
=
TreeUtil
.
build
(
collect
,
"0"
);
vo
.
setChildren
(
build
);
list
.
add
(
vo
);
});
stopWatch
.
stop
();
String
s
=
stopWatch
.
prettyPrint
(
TimeUnit
.
MILLISECONDS
);
log
.
info
(
"总体架构资产可视化展示,耗费时间详情:\n{}"
,
s
);
return
list
;
}
@Override
public
List
<
AssetInfo
>
maxVer
(
ArchiAssetInfoDTO
params
)
{
List
<
AssetInfo
>
maxVer
=
archiMapper
.
maxVer
(
params
);
return
maxVer
;
}
/**
* 根据元模型id获取mxCell
*
* @param metaModelId 元模型id
*/
@Override
public
List
<
MxCellVO
>
getMxCellByMetaModelId
(
Long
metaModelId
)
{
List
<
MxCellVO
>
list
=
new
ArrayList
<>();
String
content
=
archiMetaModelMapper
.
getMxCellByMetaModelId
(
metaModelId
);
Assert
.
isFalse
(
StrUtil
.
isBlank
(
content
),
"元模型不存在"
);
Document
doc
=
mxXmlUtils
.
parseXml
(
content
);
Assert
.
notNull
(
doc
,
"文件内容格式错误"
);
mxCodec
codec
=
new
mxCodec
(
doc
);
NodeList
childNodes
=
doc
.
getDocumentElement
().
getElementsByTagName
(
"mxCell"
);
int
length
=
childNodes
.
getLength
();
List
<
mxCell
>
arr
=
IntStream
.
range
(
0
,
length
).
mapToObj
(
i
->
(
mxCell
)
codec
.
decodeCell
(
childNodes
.
item
(
i
),
Boolean
.
TRUE
)).
collect
(
Collectors
.
toList
());
arr
.
forEach
(
it
->
{
MxCellVO
mxCellVO
=
new
MxCellVO
();
if
(
Objects
.
nonNull
(
it
))
{
if
(
it
.
isEdge
()
&&
Objects
.
nonNull
(
it
.
getSource
())
&&
Objects
.
nonNull
(
it
.
getTarget
()))
{
mxCellVO
.
setSort
(
0
);
mxCellVO
.
setSourceId
(
it
.
getSource
().
getId
());
mxCellVO
.
setSource
(
MxFileUtil
.
extractValue
(
it
.
getSource
()));
mxCellVO
.
setLinkNameDesc
(
MxFileUtil
.
extractValue
(
it
));
mxCellVO
.
setLinkName
(
MxFileUtil
.
extractValue
(
it
));
mxCellVO
.
setTarget
(
MxFileUtil
.
extractValue
(
it
.
getTarget
()));
mxCellVO
.
setTargetId
(
it
.
getTarget
().
getId
());
list
.
add
(
mxCellVO
);
}
if
(
it
.
isVertex
()
&&
Objects
.
nonNull
(
it
.
getParent
()))
{
mxCellVO
.
setSort
(
1
);
mxCellVO
.
setSourceId
(
it
.
getId
());
mxCellVO
.
setSource
(
MxFileUtil
.
extractValue
(
it
));
mxCellVO
.
setLinkNameDesc
(
"父子"
);
mxCellVO
.
setLinkName
(
"父子"
);
mxCellVO
.
setTarget
(
MxFileUtil
.
extractValue
(
it
.
getParent
()));
mxCellVO
.
setTargetId
(
it
.
getParent
().
getId
());
list
.
add
(
mxCellVO
);
}
}
});
return
CollUtil
.
sort
(
list
,
Comparator
.
comparing
(
MxCellVO:
:
getSort
));
}
@Override
public
List
<
ArchiVersionVO
>
queryArchiVersion
(
ArchiVersionVO
params
)
{
return
archiTotalAssertMapper
.
queryArchiVersion
(
params
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
addAssetRelation
(
ArchiAssetsRelationDTO
params
)
{
ArchiAbilityAssetsRelation
relation
=
new
ArchiAbilityAssetsRelation
();
BeanUtil
.
copyProperties
(
params
,
relation
,
"relaId"
);
AssetInfo
assetInfo
=
archiMapper
.
selectById
(
params
.
getAssetId
());
Assert
.
notNull
(
assetInfo
,
"资产不存在"
);
AssetInfo
relaAssetInfo
=
archiMapper
.
selectById
(
params
.
getRelaAssetId
());
Assert
.
notNull
(
relaAssetInfo
,
"关联资产不存在"
);
// Assert.isFalse(params.getAssetId().equals(params.getRelaAssetId()), "资产不能关联自己");
Assert
.
isFalse
(
archiAbilityAssetsRelationMapper
.
selectCount
(
Wrappers
.<
ArchiAbilityAssetsRelation
>
lambdaQuery
()
.
eq
(
ArchiAbilityAssetsRelation:
:
getAssetId
,
params
.
getAssetId
())
.
eq
(
ArchiAbilityAssetsRelation:
:
getRelaAssetId
,
params
.
getRelaAssetId
())
.
eq
(
ArchiAbilityAssetsRelation:
:
getAssetRelaId
,
params
.
getAssetRelaId
()))
>
0
,
"资产关系已存在"
);
relation
.
setAssetCode
(
assetInfo
.
getAssetCode
());
relation
.
setAssetName
(
assetInfo
.
getAssetName
());
relation
.
setRelaAssetCode
(
relaAssetInfo
.
getAssetCode
());
relation
.
setRelaAssetName
(
relaAssetInfo
.
getAssetName
());
relation
.
setCreateTime
(
new
Date
());
relation
.
setUpdateTime
(
new
Date
());
relation
.
setDelFlag
(
0
);
relation
.
setState
(
2
);
return
archiAbilityAssetsRelationMapper
.
insert
(
relation
)
>
0
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateAssetRelation
(
ArchiAssetsRelationDTO
params
)
{
ArchiAbilityAssetsRelation
relation
=
new
ArchiAbilityAssetsRelation
();
Long
relaId
=
params
.
getRelaId
();
Assert
.
notNull
(
relaId
,
"资产关系ID不能为空"
);
AssetInfo
assetInfo
=
archiMapper
.
selectById
(
params
.
getAssetId
());
Assert
.
notNull
(
assetInfo
,
"资产不存在"
);
AssetInfo
relaAssetInfo
=
archiMapper
.
selectById
(
params
.
getRelaAssetId
());
Assert
.
notNull
(
relaAssetInfo
,
"关联资产不存在"
);
// Assert.isFalse(assetInfo.getAssetId().equals(relaAssetInfo.getAssetId()), "资产不能关联自己");
Assert
.
isFalse
(
archiAbilityAssetsRelationMapper
.
selectCount
(
Wrappers
.<
ArchiAbilityAssetsRelation
>
lambdaQuery
()
.
eq
(
ArchiAbilityAssetsRelation:
:
getAssetId
,
params
.
getAssetId
())
.
eq
(
ArchiAbilityAssetsRelation:
:
getRelaAssetId
,
params
.
getRelaAssetId
())
.
eq
(
ArchiAbilityAssetsRelation:
:
getAssetRelaId
,
params
.
getAssetRelaId
())
.
notIn
(
ArchiAbilityAssetsRelation:
:
getRelaId
,
params
.
getRelaId
()))
>
0
,
"资产关系已存在"
);
relation
.
setRelaId
(
params
.
getRelaId
());
relation
.
setAssetId
(
assetInfo
.
getAssetId
());
relation
.
setAssetCode
(
assetInfo
.
getAssetCode
());
relation
.
setAssetName
(
assetInfo
.
getAssetName
());
relation
.
setRelaAssetId
(
relaAssetInfo
.
getAssetId
());
relation
.
setRelaAssetCode
(
relaAssetInfo
.
getAssetCode
());
relation
.
setRelaAssetName
(
relaAssetInfo
.
getAssetName
());
relation
.
setAssetRelaId
(
params
.
getAssetRelaId
());
relation
.
setUpdateTime
(
new
Date
());
relation
.
setIconId
(
params
.
getIconId
());
return
archiAbilityAssetsRelationMapper
.
updateById
(
relation
)
>
0
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
del
(
BatchRemoveDTO
dto
)
{
return
archiAbilityAssetsRelationMapper
.
removeBatchIds
(
dto
.
getIds
());
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
post
(
ArchiRelaSatePostDTO
dto
)
{
Long
id
=
dto
.
getRelaId
();
Byte
state
=
dto
.
getState
();
// 发布
if
(
ArchiStateEnum
.
PUBLISHED
.
getCode
()
==
state
)
{
LambdaUpdateWrapper
<
ArchiAbilityAssetsRelation
>
wrapper
=
Wrappers
.
lambdaUpdate
();
wrapper
.
set
(
ArchiAbilityAssetsRelation:
:
getState
,
dto
.
getState
());
wrapper
.
eq
(
ArchiAbilityAssetsRelation:
:
getRelaId
,
id
);
return
archiAbilityAssetsRelationMapper
.
update
(
wrapper
)
>
0
;
}
// 停用
if
(
ArchiStateEnum
.
DISABLED
.
getCode
()
==
state
)
{
LambdaUpdateWrapper
<
ArchiAbilityAssetsRelation
>
wrapper
=
Wrappers
.
lambdaUpdate
();
wrapper
.
set
(
ArchiAbilityAssetsRelation:
:
getState
,
state
);
wrapper
.
eq
(
ArchiAbilityAssetsRelation:
:
getRelaId
,
id
);
return
archiAbilityAssetsRelationMapper
.
update
(
wrapper
)
>
0
;
}
return
Boolean
.
FALSE
;
}
@Override
public
IPage
<
ArchiAbilityAssetsRelationQueryVO
>
queryAssetRelation
(
ArchiAssetsRelationQueryDTO
params
)
{
return
archiAbilityAssetsRelationMapper
.
queryAssetRelation
(
params
,
PageDTO
.
of
(
params
.
getCurrent
(),
params
.
getPageSize
()));
}
@Override
public
ArchiAbilityAssetsRelationQueryVO
queryAssetRelationDetail
(
ArchiAssetsRelationQueryDTO
params
)
{
Assert
.
notNull
(
params
.
getRelaId
(),
"元素关系ID不能为空"
);
return
archiAbilityAssetsRelationMapper
.
queryAssetRelation
(
params
);
}
}
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiAssetInfoServiceImpl.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.util.StrUtil
;
import
com.alibaba.cloud.commons.lang.StringUtils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.apache.commons.compress.utils.Lists
;
import
org.arch.common.archoverall.dto.ArchiAssetInfoDTO
;
import
org.arch.common.archoverall.dto.ArchiAssetVisalDTO
;
import
org.arch.common.archoverall.vo.ArchVisualVO
;
import
org.arch.common.archoverall.dto.DelDTO
;
import
org.arch.overall.dto.ArchiDto
;
import
org.arch.overall.entity.ArchiAssetSystem
;
import
org.arch.overall.entity.ArchiElementNestRelation
;
import
org.arch.overall.entity.AssetInfo
;
import
org.arch.overall.mapper.ArchiAssetInfoMapper
;
import
org.arch.overall.mapper.ArchiAssetSystemMapper
;
import
org.arch.overall.mapper.ArchiElementNestRelationMapper
;
import
org.arch.overall.service.ArchiAssetInfoService
;
import
org.arch.overall.service.ArchiAssetService
;
import
org.arch.utils.VersionUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* <p>
* 总体架构 服务实现类
* </p>
*
* @author author
* @since 2024-01-09
*/
@Service
public
class
ArchiAssetInfoServiceImpl
extends
ServiceImpl
<
ArchiAssetInfoMapper
,
AssetInfo
>
implements
ArchiAssetInfoService
{
@Autowired
private
ArchiAssetSystemMapper
archiAssetSystemMapper
;
@Autowired
private
ArchiAssetInfoService
archiAssetInfoService
;
@Autowired
private
ArchiAssetService
archiAssetService
;
@Autowired
private
ArchiAssetInfoMapper
archiAssetInfoMapper
;
@Autowired
private
ArchiElementNestRelationMapper
archiElementNestRelationMapper
;
@Override
public
IPage
<
AssetInfo
>
iPage
(
ArchiAssetInfoDTO
params
)
{
return
baseMapper
.
query
(
params
,
PageDTO
.
of
(
params
.
getCurrent
(),
params
.
getPageSize
()));
}
@Override
public
List
<
AssetInfo
>
assetList
(
ArchiAssetInfoDTO
params
)
{
return
archiAssetInfoMapper
.
query
(
params
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
inster
(
ArchiAssetInfoDTO
params
)
{
String
assetNumber
=
params
.
getAssetNumber
();
Assert
.
notEmpty
(
assetNumber
,
"资产编号不能为空"
);
Long
graphId
=
params
.
getGraphId
();
Assert
.
notNull
(
graphId
,
"图形ID不能为空"
);
Long
archiBelongId
=
params
.
getArchiBelongId
();
Assert
.
notNull
(
archiBelongId
,
"架构所属ID不能为空"
);
Long
l
=
archiAssetInfoMapper
.
selectCount
(
Wrappers
.<
AssetInfo
>
lambdaQuery
()
.
eq
(
AssetInfo:
:
getAssetNumber
,
assetNumber
)
.
eq
(
AssetInfo:
:
getArchiBelongId
,
archiBelongId
)
.
eq
(
Objects
.
nonNull
(
params
.
getArchiStage
()),
AssetInfo:
:
getArchiStage
,
params
.
getArchiStage
())
.
eq
(
Objects
.
nonNull
(
params
.
getArchiAssetState
()),
AssetInfo:
:
getArchiAssetState
,
params
.
getArchiAssetState
()));
Assert
.
isFalse
(
l
>
0
,
"资产编号已存在"
);
// 构建查询条件
LambdaQueryWrapper
<
ArchiAssetSystem
>
wrapper
=
new
LambdaQueryWrapper
<
ArchiAssetSystem
>()
.
select
(
ArchiAssetSystem:
:
getVersionId
)
.
eq
(
ArchiAssetSystem:
:
getArchiStatus
,
1
);
// 查询最新版本
ArchiAssetSystem
version
=
archiAssetSystemMapper
.
selectOne
(
wrapper
);
Assert
.
notNull
(
version
,
"最新版本不存在"
);
params
.
setVersionId
(
version
.
getVersionId
());
AssetInfo
asset
=
new
AssetInfo
();
BeanUtil
.
copyProperties
(
params
,
asset
);
Date
time
=
Calendar
.
getInstance
().
getTime
();
asset
.
setCreateTime
(
time
);
asset
.
setLastUpdateTime
(
time
);
asset
.
setDelFlag
(
0
);
//20240425取消资产名称重复校验
// Long count = archiAssetInfoMapper.selectCount(
// Wrappers.lambdaQuery(AssetInfo.class)
// .eq(AssetInfo::getAssetName, params.getAssetName())
// .eq(Objects.nonNull(params.getCreateMan()), AssetInfo::getCreateMan, params.getCreateMan())
// .eq(Objects.nonNull(params.getArchiAssetTypeId()), AssetInfo::getArchiAssetTypeId, params.getArchiAssetTypeId())
// .eq(Objects.nonNull(params.getArchiEleId()), AssetInfo::getArchiEleId, params.getArchiEleId())
// .eq(Objects.nonNull(params.getArchiAssetType()), AssetInfo::getArchiAssetType, params.getArchiAssetType())
// .eq(Objects.nonNull(params.getArchiStage()), AssetInfo::getArchiStage, params.getArchiStage())
// .eq(Objects.nonNull(params.getArchiAssetState()), AssetInfo::getArchiAssetState, params.getArchiAssetState())
// .eq(Objects.nonNull(params.getState()), AssetInfo::getState, params.getState())
// .eq(Objects.nonNull(params.getArchiBelongId()), AssetInfo::getArchiBelongId, params.getArchiBelongId())
// .eq(Objects.nonNull(params.getIsExtend()), AssetInfo::getIsExtend, params.getIsExtend())
// .eq(AssetInfo::getState, 1)
// .eq(AssetInfo::getDelFlag, 0));
// Assert.isFalse(count > 0, "架构组件名称已存在!");
// 将JSON对象转换为字符串
List
<
JSONObject
>
fieldsValue
=
params
.
getFieldsValue
();
String
fieldsValueStr
=
JSON
.
toJSONString
(
fieldsValue
,
SerializerFeature
.
WriteMapNullValue
,
SerializerFeature
.
WriteNullStringAsEmpty
);
asset
.
setFieldsValue
(
fieldsValueStr
);
List
<
JSONObject
>
targetAsset
=
params
.
getTargetAsset
();
String
targetAssetStr
=
JSON
.
toJSONString
(
targetAsset
,
SerializerFeature
.
WriteMapNullValue
,
SerializerFeature
.
WriteNullStringAsEmpty
);
asset
.
setTargetAsset
(
targetAssetStr
);
List
<
String
>
lastEleList
=
params
.
getParentElement
();
if
(
lastEleList
!=
null
&&
!
lastEleList
.
isEmpty
())
{
// 将List<String>中的元素取出来,拼接成一个字符串
StringBuilder
sb
=
new
StringBuilder
();
for
(
String
element
:
lastEleList
)
{
sb
.
append
(
element
).
append
(
", "
);
}
// 去除末尾多余的逗号和空格
String
parentElementString
=
sb
.
toString
().
replaceAll
(
", $"
,
""
);
// 将拼接后的字符串赋值给实体类中的String类型属性
asset
.
setParentElement
(
parentElementString
);
}
else
{
asset
.
setParentElement
(
null
);
}
List
<
String
>
lastAssetList
=
params
.
getParentAsset
();
if
(
lastAssetList
!=
null
&&
!
lastAssetList
.
isEmpty
())
{
// 将List<String>中的元素取出来,拼接成一个字符串
StringBuilder
sb
=
new
StringBuilder
();
for
(
String
parentAsset
:
lastAssetList
)
{
sb
.
append
(
parentAsset
).
append
(
", "
);
}
// 去除末尾多余的逗号和空格
String
parentAssetString
=
sb
.
toString
().
replaceAll
(
", $"
,
""
);
// 将拼接后的字符串赋值给实体类中的String类型属性
asset
.
setParentAsset
(
parentAssetString
);
}
else
{
asset
.
setParentAsset
(
null
);
}
if
(
params
.
getState
()
!=
null
&&
params
.
getState
()
==
1
&&
StringUtils
.
isBlank
(
params
.
getVersion
()))
{
params
.
setVersion
(
selectVer
());
}
return
archiAssetInfoMapper
.
insert
(
asset
)
>
0
;
}
@Override
public
AssetInfo
info
(
Long
assetId
)
{
return
baseMapper
.
info
(
assetId
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
update
(
ArchiAssetInfoDTO
params
)
{
AssetInfo
one
=
archiAssetInfoMapper
.
selectById
(
params
.
getAssetId
());
Assert
.
notNull
(
one
,
"资产不存在"
);
if
(
params
.
getState
()
==
1
&&
StringUtils
.
isBlank
(
params
.
getVersion
()))
{
params
.
setVersion
(
selectVer
());
}
else
if
(
params
.
getState
()
==
1
&&
StringUtils
.
isNotBlank
(
params
.
getVersion
()))
{
List
<
AssetInfo
>
assetMaxVer
=
archiAssetService
.
maxVer
(
params
);
String
lastMaxVer
=
assetMaxVer
.
get
(
0
).
getVersion
();
String
str
=
params
.
getVersion
();
String
ver
=
VersionUtil
.
getNextVersion
(
lastMaxVer
);
params
.
setVersion
(
ver
);
archiAssetInfoService
.
inster
(
params
);
params
.
setState
(
0
);
params
.
setVersion
(
str
);
}
AssetInfo
asset
=
new
AssetInfo
();
BeanUtil
.
copyProperties
(
params
,
asset
);
Date
time
=
Calendar
.
getInstance
().
getTime
();
asset
.
setLastUpdateTime
(
time
);
asset
.
setCreateTime
(
null
);
// 将JSON对象转换为字符串
List
<
JSONObject
>
fieldsValue
=
params
.
getFieldsValue
();
if
(!
CollectionUtils
.
isEmpty
(
fieldsValue
))
{
String
fieldsValueStr
=
JSON
.
toJSONString
(
fieldsValue
,
SerializerFeature
.
WriteMapNullValue
,
SerializerFeature
.
WriteNullStringAsEmpty
);
asset
.
setFieldsValue
(
fieldsValueStr
);
}
List
<
JSONObject
>
targetAsset
=
params
.
getTargetAsset
();
if
(!
CollectionUtils
.
isEmpty
(
targetAsset
))
{
String
targetAssetStr
=
JSON
.
toJSONString
(
targetAsset
,
SerializerFeature
.
WriteMapNullValue
,
SerializerFeature
.
WriteNullStringAsEmpty
);
asset
.
setTargetAsset
(
targetAssetStr
);
}
return
archiAssetInfoMapper
.
updateById
(
asset
)
>
0
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
delBatch
(
DelDTO
requestMap
)
{
List
<
Long
>
assetIds
=
requestMap
.
getAssetId
();
Assert
.
isFalse
(
assetIds
.
isEmpty
(),
"至少选择一条资产"
);
assetIds
.
forEach
(
e
->
{
AssetInfo
assetInfo
=
archiAssetInfoMapper
.
selectById
(
e
);
// 发布状态不可删除
Assert
.
isFalse
(
assetInfo
.
getState
()
==
1
,
"发布状态不可删除"
);
});
return
archiAssetInfoMapper
.
deleteBatchIds
(
assetIds
)
>
0
;
}
@Override
public
String
selectVer
()
{
return
archiAssetInfoMapper
.
selectVer
();
}
@Override
public
List
<
AssetInfo
>
qryTree
(
ArchiDto
frameworkDto
)
{
// 查出对应架构所有分类(应用/技术/业务/数据/安全)
QueryWrapper
<
AssetInfo
>
assetInfoQueryWrapper
=
Wrappers
.
query
();
assetInfoQueryWrapper
.
eq
(
"archi_type"
,
frameworkDto
.
getArchiType
());
// 架构类型,业务架构表默认采用ARCHI_BUSINESS等
assetInfoQueryWrapper
.
eq
(
"archi_stage"
,
frameworkDto
.
getArchiStage
());
// 1:总体架构;2:系统架构 3:概设架构 4:其他架构
assetInfoQueryWrapper
.
eq
(
"is_show"
,
"0"
);
// 是否首页展示 0 展示 1 不展示
assetInfoQueryWrapper
.
eq
(
"del_flag"
,
"0"
);
// 删除标记(0:未删除;1:删除)
assetInfoQueryWrapper
.
eq
(
"state"
,
"1"
);
// 状态 0:已停用 1:已发布 2:暂存
assetInfoQueryWrapper
.
eq
(
StrUtil
.
isNotBlank
(
frameworkDto
.
getEleName
()),
"ele_name"
,
frameworkDto
.
getEleName
());
// 元素名称
// assetInfoQueryWrapper.eq("version",frameworkDto.getVersionId()); // 查询最新的版本
List
<
AssetInfo
>
allAssetInfos
=
archiAssetInfoMapper
.
selectList
(
assetInfoQueryWrapper
);
if
(
CollectionUtils
.
isEmpty
(
allAssetInfos
)){
return
Lists
.
newArrayList
();
}
List
<
Long
>
assetIds
=
allAssetInfos
.
stream
().
map
(
item
->
item
.
getAssetId
()).
collect
(
Collectors
.
toList
());
List
<
AssetInfo
>
rootNodeAssets
=
allAssetInfos
.
stream
().
filter
(
item
->
Objects
.
nonNull
(
item
.
getParentAssetId
()))
.
filter
(
item
->
item
.
getParentAssetId
()
==
0L
).
collect
(
Collectors
.
toList
());
List
<
AssetInfo
>
treeList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isEmpty
(
rootNodeAssets
)){
// 元素子嵌套类型 或者 二级元素以下,不存在根级节点
// 则不存在根节点
List
<
Long
>
roodIds
=
allAssetInfos
.
stream
().
map
(
AssetInfo:
:
getParentAssetId
).
filter
(
Objects:
:
nonNull
)
.
distinct
().
filter
(
item
->!
assetIds
.
contains
(
item
)).
collect
(
Collectors
.
toList
());
List
<
AssetInfo
>
rootAssetInfos
=
archiAssetInfoMapper
.
selectBatchIds
(
roodIds
);
treeList
=
rootAssetInfos
.
stream
().
peek
(
item
->
item
.
setChildren
(
getChildrens
(
item
,
allAssetInfos
))).
sorted
((
item1
,
item2
)
->
{
return
(
Objects
.
isNull
(
item1
.
getSort
())
?
0
:
item1
.
getSort
())
-
(
Objects
.
isNull
(
item2
.
getSort
())
?
0
:
item2
.
getSort
());
}).
collect
(
Collectors
.
toList
());
return
treeList
;
}
else
{
// 组装成父子结构,先找出所有的一级分类
treeList
=
allAssetInfos
.
stream
()
.
filter
(
item
->
Objects
.
nonNull
(
item
.
getParentAssetId
()))
.
filter
(
item
->
item
.
getParentAssetId
()
==
0L
)
.
peek
(
item
->
item
.
setChildren
(
getChildrens
(
item
,
allAssetInfos
))).
sorted
((
item1
,
item2
)
->{
return
(
Objects
.
isNull
(
item1
.
getSort
())?
0
:
item1
.
getSort
())
-
(
Objects
.
isNull
(
item2
.
getSort
())?
0
:
item2
.
getSort
());
}).
collect
(
Collectors
.
toList
());
}
return
treeList
;
}
// 递归查找菜单的子菜单
private
List
<
AssetInfo
>
getChildrens
(
AssetInfo
root
,
List
<
AssetInfo
>
all
){
List
<
AssetInfo
>
children
=
all
.
stream
()
.
filter
(
item
->
Objects
.
nonNull
(
item
.
getParentAssetId
()))
.
filter
(
item
->
item
.
getParentAssetId
().
equals
(
root
.
getAssetId
()))
.
peek
(
item
->{
// 找到子分类
item
.
setChildren
(
getChildrens
(
item
,
all
));
// 菜单的排序
}).
sorted
((
item1
,
item2
)
->{
return
(
Objects
.
isNull
(
item1
.
getSort
())?
0
:
item1
.
getSort
())
-
(
Objects
.
isNull
(
item2
.
getSort
())?
0
:
item2
.
getSort
());
}).
collect
(
Collectors
.
toList
());
return
children
;
}
@Override
public
List
<
ArchiElementNestRelation
>
qyLastEle
(
ArchiAssetInfoDTO
params
)
{
LambdaQueryWrapper
<
ArchiElementNestRelation
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
ArchiElementNestRelation
.
class
)
.
select
()
.
eq
(
StringUtils
.
isNotBlank
(
params
.
getEleName
()),
ArchiElementNestRelation:
:
getElementName
,
params
.
getEleName
())
.
eq
(
ArchiElementNestRelation:
:
getNestFlag
,
1
)
.
isNotNull
(
ArchiElementNestRelation:
:
getElementName
);
List
<
ArchiElementNestRelation
>
lastEleList
=
archiElementNestRelationMapper
.
selectList
(
queryWrapper
);
return
lastEleList
;
}
@Override
public
Map
<
ArchiAssetInfoDTO
,
List
<
ArchiAssetInfoDTO
>>
getArchVisual
(
ArchVisualVO
archVisualVO
)
{
return
null
;
}
public
List
<
Map
<
String
,
Object
>>
getAssetVisalFirst
(
ArchiAssetVisalDTO
archiAssetVisalDTO
)
{
// 查询最新版本
LambdaQueryWrapper
<
ArchiAssetSystem
>
wrapper
=
new
LambdaQueryWrapper
<
ArchiAssetSystem
>()
.
select
(
ArchiAssetSystem:
:
getVersionId
)
.
eq
(
ArchiAssetSystem:
:
getArchiStatus
,
1
);
ArchiAssetSystem
version
=
archiAssetSystemMapper
.
selectOne
(
wrapper
);
Assert
.
notNull
(
version
,
"最新版本不存在"
);
Long
versionId
=
version
.
getVersionId
();
return
null
;
}
}
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiElePropertyImpl.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.arch.overall.entity.ArchiEleProperty
;
import
org.arch.overall.mapper.ArchiElePropertyMapper
;
import
org.arch.overall.service.ArchiElePropertyService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@Service
public
class
ArchiElePropertyImpl
extends
ServiceImpl
<
ArchiElePropertyMapper
,
ArchiEleProperty
>
implements
ArchiElePropertyService
{
@Autowired
private
ArchiElePropertyMapper
archiElePropertyMapper
;
@Override
public
List
<
ArchiEleProperty
>
gtArchiElePropertyList
(
ArchiEleProperty
ynMolProyls
)
{
List
<
ArchiEleProperty
>
YnMolProyList
=
archiElePropertyMapper
.
gtArchiElePropertyList
(
ynMolProyls
);
return
YnMolProyList
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateEleRelBatch
(
List
<
Map
<
String
,
Object
>>
requestList
)
{
List
<
ArchiEleProperty
>
updatedDataList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
requestData
:
requestList
)
{
Integer
propertyId
=
(
Integer
)
requestData
.
get
(
"propertyId"
);
String
propertyValue
=
(
String
)
requestData
.
get
(
"propertyValue"
);
QueryWrapper
<
ArchiEleProperty
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"property_id"
,
propertyId
);
ArchiEleProperty
archiEleProperty
=
getOne
(
queryWrapper
);
if
(
archiEleProperty
!=
null
)
{
archiEleProperty
.
setPropertyValue
(
propertyValue
);
updatedDataList
.
add
(
archiEleProperty
);
}
}
return
updateBatchById
(
updatedDataList
);
}
}
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiEleRelaImpl.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.lang.UUID
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.arch.common.archoverall.dto.ArchiEleRelaConstrainDTO
;
import
org.arch.common.archoverall.dto.ArchiEleRelaDTO
;
import
org.arch.common.archoverall.dto.BatchUpdateRelaDTO
;
import
org.arch.common.archoverall.vo.ArchiEleRelaNameVO
;
import
org.arch.common.archoverall.vo.ArchiEleRelaVO
;
import
org.arch.overall.entity.ArchiEleRela
;
import
org.arch.overall.entity.ArchiEleRelaConstrain
;
import
org.arch.overall.entity.ArchiElement
;
import
org.arch.overall.mapper.ArchiEleRelaConstrainMapper
;
import
org.arch.overall.mapper.ArchiEleRelaMapper
;
import
org.arch.overall.mapper.ArchiElementMapper
;
import
org.arch.overall.service.ArchiEleRelaService
;
import
org.arch.utils.VersionUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.*
;
@Service
public
class
ArchiEleRelaImpl
extends
ServiceImpl
<
ArchiEleRelaMapper
,
ArchiEleRela
>
implements
ArchiEleRelaService
{
@Autowired
private
ArchiEleRelaService
archiEleRelaService
;
@Autowired
private
ArchiEleRelaMapper
archiEleRelaMapper
;
@Autowired
private
ArchiEleRelaConstrainMapper
archiEleRelaConstrainMapper
;
@Autowired
private
ArchiElementMapper
archiElementMapper
;
@Override
public
IPage
<
ArchiEleRela
>
gtArchiEleRela
(
ArchiEleRelaDTO
dto
)
{
IPage
<
ArchiEleRela
>
page
=
archiEleRelaMapper
.
gtArchiEleRela
(
dto
,
PageDTO
.
of
(
dto
.
getCurrent
(),
dto
.
getPageSize
()));
List
<
ArchiEleRela
>
records
=
page
.
getRecords
();
for
(
ArchiEleRela
record
:
records
)
{
record
.
setArrList
(
archiEleRelaService
.
getArchiEleRelaConstraint
(
record
.
getEleRelaId
()));
}
return
page
;
}
@Override
public
List
<
ArchiEleRela
>
gtEleRelList
(
ArchiEleRelaDTO
dto
)
{
return
archiEleRelaMapper
.
gtEleRelList
(
dto
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
addArchiEleRelaConstraint
(
ArchiEleRela
archiEleRelas
)
{
List
<
ArchiEleRelaConstrainDTO
>
arrList
=
archiEleRelas
.
getArrList
();
if
(
CollUtil
.
isNotEmpty
(
arrList
))
{
List
<
ArchiEleRelaConstrain
>
list
=
new
ArrayList
<>();
arrList
.
forEach
(
it
->
{
ArchiEleRelaConstrain
item
=
new
ArchiEleRelaConstrain
();
ArchiElement
source
=
archiElementMapper
.
selectById
(
it
.
getEleGtId
());
ArchiElement
target
=
archiElementMapper
.
selectById
(
it
.
getEleLtId
());
if
(
Objects
.
nonNull
(
source
))
{
item
.
setEleGtId
(
it
.
getEleGtId
());
item
.
setEleGtName
(
source
.
getElementName
());
}
if
(
Objects
.
nonNull
(
target
))
{
item
.
setEleLtId
(
it
.
getEleLtId
());
item
.
setEleLtName
(
target
.
getElementName
());
}
item
.
setLastUpdateTime
(
new
Date
());
item
.
setCreateTime
(
Calendar
.
getInstance
().
getTime
());
item
.
setScope
(
it
.
getScope
());
item
.
setEleRelaId
(
archiEleRelas
.
getEleRelaId
());
item
.
setEleRelaName
(
archiEleRelas
.
getRsName
());
list
.
add
(
item
);
});
// 新增或者更新时删除之前历史
archiEleRelaConstrainMapper
.
delByRelaId
(
archiEleRelas
.
getEleRelaId
());
archiEleRelaConstrainMapper
.
batchInsert
(
list
);
}
}
@Override
public
List
<
ArchiEleRelaConstrainDTO
>
getArchiEleRelaConstraint
(
Long
eleRelaId
)
{
List
<
ArchiEleRelaConstrain
>
archiEleRelaConstraint
=
archiEleRelaConstrainMapper
.
getArchiEleRelaConstraint
(
eleRelaId
);
return
BeanUtil
.
copyToList
(
archiEleRelaConstraint
,
ArchiEleRelaConstrainDTO
.
class
);
}
@Override
public
List
<
ArchiEleRelaVO
>
findEleRelaConstrainList
(
Long
constrainId
)
{
return
archiEleRelaConstrainMapper
.
findEleRelaConstrainList
(
constrainId
);
}
@Override
public
List
<
ArchiEleRelaNameVO
>
findEleRelaList
()
{
return
baseMapper
.
findEleRelaList
();
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updBatch
(
BatchUpdateRelaDTO
requestMap
)
{
List
<
Long
>
eleRelaId
=
requestMap
.
getEleRelaId
();
Assert
.
isFalse
(
CollectionUtils
.
isEmpty
(
eleRelaId
),
"元素关系ID不能为空"
);
eleRelaId
.
forEach
(
it
->
{
ArchiEleRela
archiEleRela
=
baseMapper
.
selectById
(
it
);
Assert
.
notNull
(
archiEleRela
,
"未找到元素关系"
);
Integer
state
=
archiEleRela
.
getState
();
Assert
.
isFalse
(
1
==
state
,
"当前状态下不可发布!"
);
String
version
=
baseMapper
.
getVersion
(
it
);
archiEleRela
.
setState
(
1
);
archiEleRela
.
setVersion
(
VersionUtil
.
getNextVersion
(
version
));
archiEleRela
.
updateById
();
});
return
Boolean
.
TRUE
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
del
(
ArchiEleRela
params
)
{
Long
eleRelaId
=
params
.
getEleRelaId
();
ArchiEleRela
eleRela
=
getById
(
eleRelaId
);
Assert
.
notNull
(
eleRela
,
"未找到元素关系"
);
return
eleRela
.
deleteById
();
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
insert
(
ArchiEleRela
archiEleRelas
)
{
archiEleRelas
.
setEleRelaCode
(
UUID
.
fastUUID
().
toString
());
archiEleRelas
.
setDelFlag
(
0
);
Assert
.
isFalse
(
archiEleRelas
.
getRsName
().
length
()
>
100
,
"元素关系名称太长请修改为100个字符以内再提交!"
);
return
save
(
archiEleRelas
);
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
update
(
ArchiEleRela
params
)
{
Long
eleRelaId
=
params
.
getEleRelaId
();
ArchiEleRela
eleRela
=
getById
(
eleRelaId
);
Assert
.
notNull
(
eleRela
,
"未找到元素关系"
);
Integer
state
=
params
.
getState
();
if
(
1
==
state
)
{
String
ver
=
VersionUtil
.
getNextVersion
(
baseMapper
.
getVersion
(
eleRelaId
));
params
.
setVersion
(
ver
);
}
BeanUtil
.
copyProperties
(
params
,
eleRela
,
"createTime"
);
return
eleRela
.
updateById
();
}
}
arch-overall/src/main/java/org/arch/overall/service/impl/ArchiElementImpl.java
View file @
efeba8b
...
...
@@ -14,8 +14,8 @@ import org.arch.overall.entity.ArchiEleProperty;
import
org.arch.overall.entity.ArchiElement
;
import
org.arch.overall.mapper.ArchiElePropertyMapper
;
import
org.arch.overall.mapper.ArchiElementMapper
;
import
org.arch.
modules
.archoverall.dto.ArchiElementDTO
;
import
org.arch.
modules
.archoverall.dto.BatchUpdateDTO
;
import
org.arch.
common
.archoverall.dto.ArchiElementDTO
;
import
org.arch.
common
.archoverall.dto.BatchUpdateDTO
;
import
org.arch.overall.service.ArchiElementService
;
import
org.arch.utils.VersionUtil
;
import
org.springframework.stereotype.Service
;
...
...
arch-overall/src/main/java/org/arch/overall/utils/GenerateAssetCodeUtils.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
utils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.arch.overall.mapper.ArchiAssetInfoMapper
;
import
org.arch.utils.Constant
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
java.util.stream.IntStream
;
/**
* 生成资产编码工具类
*/
@Service
public
class
GenerateAssetCodeUtils
{
public
static
GenerateAssetCodeUtils
assetUtils
;
@Resource
private
ArchiAssetInfoMapper
assetInfoMapper
;
@PostConstruct
public
void
init
()
{
assetUtils
=
this
;
assetUtils
.
assetInfoMapper
=
this
.
assetInfoMapper
;
}
/**
* @param archiType 架构类型
* @param superiorAssetCode 所选的上级资产编号
* @param assetCode 资产编码,当创建资产为根节点时 该参数必传
* @return
*/
public
static
String
getTotalityAssetCode
(
String
archiType
,
String
superiorAssetCode
,
String
assetCode
,
String
archiStage
)
{
String
code
=
""
;
if
(
StringUtils
.
isEmpty
(
archiType
))
{
throw
new
NullPointerException
(
"架构类型不能为空!"
);
}
//判断选择的节点是否为根节点,如果选择的是无则代表该节点未根节点,编码前端创建,否则自动生成
if
(
StringUtils
.
isEmpty
(
superiorAssetCode
))
{
throw
new
NullPointerException
(
"请选择上级资产!"
);
}
//选择无代表为根节点
if
(
Constant
.
NO
.
equals
(
superiorAssetCode
))
{
if
(
StringUtils
.
isEmpty
(
assetCode
))
{
throw
new
NullPointerException
(
"当上级节点选择无时,资产编码必输!"
);
}
else
{
return
assetCode
.
toUpperCase
();
}
}
//如果有上级资产则通过编码获取该所选级别下一级末尾最大的值
int
num
=
getNum
(
superiorAssetCode
,
'-'
)
+
1
;
Integer
maxNum
=
assetUtils
.
assetInfoMapper
.
getArchiAssetMaxNum
(
archiType
,
superiorAssetCode
,
num
,
archiStage
);
if
(
null
==
maxNum
)
{
maxNum
=
0
;
}
StringBuilder
sb
=
new
StringBuilder
();
if
(
maxNum
<
9
)
{
code
=
sb
.
append
(
superiorAssetCode
).
append
(
"-"
).
append
(
"0"
).
append
(
maxNum
+
1
).
toString
();
}
else
{
code
=
sb
.
append
(
superiorAssetCode
).
append
(
"-"
).
append
(
maxNum
+
1
).
toString
();
}
return
code
.
toUpperCase
();
}
/**
* 获取指定字符的数量
*
* @param input 输入的内容
* @param charCode
* @return
*/
public
static
int
getNum
(
String
input
,
char
charCode
)
{
return
IntStream
.
range
(
0
,
input
.
length
())
.
filter
(
i
->
input
.
charAt
(
i
)
==
charCode
)
.
map
(
i
->
1
)
.
sum
();
}
}
arch-overall/src/main/java/org/arch/overall/utils/MxFileUtil.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
utils
;
import
cn.hutool.core.lang.Opt
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.http.HtmlUtil
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.alibaba.fastjson2.TypeReference
;
import
com.mxgraph.io.mxCodec
;
import
com.mxgraph.model.mxCell
;
import
com.mxgraph.model.mxGraphModel
;
import
com.mxgraph.model.mxICell
;
import
com.mxgraph.util.mxXmlUtils
;
import
com.mxgraph.view.mxGraph
;
import
lombok.extern.slf4j.Slf4j
;
import
org.arch.common.redis.service.RedisService
;
import
org.arch.utils.Constant
;
import
org.w3c.dom.Document
;
import
org.w3c.dom.Element
;
import
org.w3c.dom.Node
;
import
java.util.*
;
import
java.util.stream.IntStream
;
/**
* drawio文件解析
*
* @author xh
* @date 2023/12/06
*/
@Slf4j
public
class
MxFileUtil
{
/**
* 获取Cell
*
* @param content xml内容
* @return {@link Map}<{@link String}, {@link Object}>
*/
public
static
Map
<
String
,
Object
>
getCell
(
String
content
)
{
Document
doc
=
getDocument
(
content
);
mxGraph
graph
=
new
mxGraph
();
mxCodec
codec
=
new
mxCodec
(
doc
);
mxGraphModel
model
=
(
mxGraphModel
)
graph
.
getModel
();
codec
.
decode
(
doc
.
getDocumentElement
(),
model
);
return
model
.
getCells
();
}
/**
* 获取xml文档
*
* @param content xml内容
* @return {@link Document}
*/
public
static
Document
getDocument
(
String
content
)
{
return
mxXmlUtils
.
parseXml
(
content
);
}
/**
* 获取 MX 图形模型
*
* @param doc {@link Document}
* @return {@link mxGraphModel}
*/
public
static
mxGraphModel
getMxGraphModel
(
Document
doc
,
mxGraph
graph
)
{
mxCodec
codec
=
new
mxCodec
(
doc
);
mxGraphModel
model
=
(
mxGraphModel
)
graph
.
getModel
();
codec
.
decode
(
doc
.
getDocumentElement
(),
model
);
return
model
;
}
/**
* <p>
* 初始化图形
* </>
*
* @param content xml内容
* @return {@link mxGraph}
*/
public
static
mxGraph
initialize
(
String
content
)
{
mxGraph
graph
=
new
mxGraph
();
Document
doc
=
getDocument
(
content
);
mxCodec
codec
=
new
mxCodec
(
doc
);
mxGraphModel
model
=
(
mxGraphModel
)
graph
.
getModel
();
codec
.
decode
(
doc
.
getDocumentElement
(),
model
);
return
graph
;
}
/**
* 获取xml内容
*
* @param doc {@link Document}
* @return {@link mxGraphModel}
*/
public
static
String
getXmlContent
(
Document
doc
,
mxGraph
graph
)
{
mxCodec
codec
=
new
mxCodec
(
doc
);
Node
node
=
codec
.
encode
(
graph
.
getModel
());
return
mxXmlUtils
.
getXml
(
node
);
}
/**
* <p>
* 从元素样式中获取元素数据
* </>
*
* @param mxCell 元素
* @return {@link Map}<{@link String}, {@link Object}>
*/
public
static
Map
<
String
,
Object
>
getCellData
(
mxCell
mxCell
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
mxGraph
graph
=
new
mxGraph
();
if
(
Objects
.
isNull
(
mxCell
))
{
return
MapUtil
.
empty
();
}
Map
<
String
,
Object
>
cellStyle
=
graph
.
getCellStyle
(
mxCell
);
// 元素id
Object
elementId
=
cellStyle
.
get
(
"elementId"
);
if
(
Objects
.
nonNull
(
elementId
))
{
map
.
put
(
"elementId"
,
Long
.
parseLong
(
elementId
.
toString
()));
}
// 元素名称
Object
eleName
=
cellStyle
.
get
(
"eleName"
);
if
(
Objects
.
nonNull
(
eleName
))
{
map
.
put
(
"eleName"
,
eleName
.
toString
());
}
// 层级
Object
eaLevel
=
cellStyle
.
get
(
"eaLevel"
);
if
(
Objects
.
nonNull
(
eaLevel
))
{
map
.
put
(
"eaLevel"
,
Integer
.
parseInt
(
eaLevel
.
toString
()));
}
// 资产名称
Object
assetName
=
cellStyle
.
get
(
"assetName"
);
if
(
Objects
.
nonNull
(
assetName
))
{
String
s
=
assetName
.
toString
().
replaceAll
(
"\\[|\\]"
,
""
);
map
.
put
(
"assetName"
,
s
);
}
// 资产id
Object
assetId
=
cellStyle
.
get
(
"assetId"
);
if
(
Objects
.
nonNull
(
assetId
))
{
map
.
put
(
"assetId"
,
Long
.
parseLong
(
assetId
.
toString
()));
}
return
map
;
}
/**
* 获取Cell
*
* @param model 图形
* @return {@link Map}<{@link Integer}, {@link mxCell}>
*/
public
static
Map
<
Integer
,
mxCell
>
getMapCells
(
mxGraphModel
model
)
{
Map
<
Integer
,
mxCell
>
cellMap
=
MapUtil
.
newHashMap
(
16
);
Map
<
String
,
Object
>
cells
=
model
.
getCells
();
cells
.
forEach
((
key
,
value
)
->
{
mxCell
cell
=
(
mxCell
)
value
;
Map
<
String
,
Object
>
map
=
MxFileUtil
.
getCellData
(
cell
);
if
(
MapUtil
.
isNotEmpty
(
map
))
{
Integer
eleId
=
MapUtil
.
getInt
(
map
,
"eaLevel"
);
if
(
Objects
.
nonNull
(
eleId
)
&&
eleId
!=
0
)
{
cellMap
.
put
(
eleId
,
cell
);
}
}
});
return
cellMap
;
}
/**
* 根据层级获取Cell全部信息
*
* @param content 图形信息
* @return {@link Map}<{@link Integer}, {@link mxCell}>
*/
public
static
Map
<
Integer
,
mxCell
>
getMapCells
(
String
content
)
{
Map
<
Integer
,
mxCell
>
cellMap
=
MapUtil
.
newHashMap
(
16
);
Map
<
String
,
Object
>
cells
=
MxFileUtil
.
getCell
(
content
);
cells
.
forEach
((
key
,
value
)
->
{
mxCell
cell
=
(
mxCell
)
value
;
Map
<
String
,
Object
>
map
=
MxFileUtil
.
getCellData
(
cell
);
if
(
MapUtil
.
isNotEmpty
(
map
))
{
Integer
eaLevel
=
MapUtil
.
getInt
(
map
,
"eaLevel"
);
if
(
Objects
.
nonNull
(
eaLevel
)
&&
eaLevel
!=
0
)
{
cellMap
.
put
(
eaLevel
,
cell
);
}
}
});
return
cellMap
;
}
// region ----------------判断层级是否满足等级关系----------------
/**
* 根据Cell获取层级是否正确
*
* @param content 图形信息
* @return {@link Map}<{@link Integer}, {@link mxCell}>
*/
public
static
Boolean
isTrueLevel
(
String
content
)
{
boolean
flag
=
true
;
mxGraph
graph
=
MxFileUtil
.
initialize
(
content
);
Object
[]
childVertices
=
graph
.
getChildVertices
(
graph
.
getDefaultParent
());
for
(
Object
child
:
childVertices
)
{
List
<
Integer
>
sort
=
new
ArrayList
<>();
if
(
child
instanceof
mxCell
)
{
mxCell
mxCell
=
(
mxCell
)
child
;
Map
<
String
,
Object
>
map
=
getCellData
(
mxCell
);
if
(
MapUtil
.
isNotEmpty
(
map
))
{
Integer
eaLevel
=
MapUtil
.
getInt
(
map
,
"eaLevel"
);
if
(
Objects
.
nonNull
(
eaLevel
)
&&
eaLevel
!=
0
)
{
sort
.
add
(
eaLevel
);
}
}
tree
(
mxCell
,
sort
);
flag
=
isNaturallyOrdered
(
sort
);
}
log
.
info
(
"层级信息{}"
,
sort
);
if
(!
flag
)
{
return
false
;
}
}
return
flag
;
}
/**
* 递归获取元素中的层级
* 判断是或否满足层级关系 eq.[1,2,3,4,5]
*
* @param mxCell 元素
* @param sort 层级序列
*/
private
static
void
tree
(
mxCell
mxCell
,
List
<
Integer
>
sort
)
{
int
childCount
=
mxCell
.
getChildCount
();
if
(
childCount
>
0
)
{
for
(
int
i
=
0
;
i
<
childCount
;
i
++)
{
mxCell
childAt
=
(
mxCell
)
mxCell
.
getChildAt
(
i
);
if
(
Objects
.
nonNull
(
childAt
))
{
Map
<
String
,
Object
>
map
=
getCellData
(
childAt
);
if
(
MapUtil
.
isNotEmpty
(
map
))
{
Integer
eaLevel
=
MapUtil
.
getInt
(
map
,
"eaLevel"
);
if
(
Objects
.
nonNull
(
eaLevel
)
&&
eaLevel
!=
0
)
{
sort
.
add
(
eaLevel
);
}
}
tree
(
childAt
,
sort
);
}
}
}
}
/**
* 自然有序
*
* @param list 列表
* @return boolean
*/
private
static
boolean
isNaturallyOrdered
(
List
<
Integer
>
list
)
{
return
IntStream
.
range
(
0
,
list
.
size
()
-
1
).
parallel
().
allMatch
(
i
->
list
.
get
(
i
)
<
list
.
get
(
i
+
1
));
}
// endregion ----------------判断层级是否满足等级关系----------------
/**
* <h2>获取不同层级Cell</h2>
*
* @param eaLevel 层级
* @param model 图形
* @return {@link mxCell}
*/
public
static
mxCell
getCells
(
mxGraphModel
model
,
Integer
eaLevel
)
{
Map
<
Integer
,
mxCell
>
cellMap
=
getMapCells
(
model
);
if
(
MapUtil
.
isEmpty
(
cellMap
))
{
throw
new
RuntimeException
(
"图形中没有元素"
);
}
return
cellMap
.
get
(
eaLevel
);
}
/**
* <h2>获取不同层级Cell</h2>
* 带缓存,暂且测试阶段
*
* @param eaLevel 层级
* @return {@link mxCell}
*/
public
static
mxCell
getCells
(
RedisService
redisService
,
String
id
,
Integer
eaLevel
)
{
String
key
=
Constant
.
MX_MODEL_KEY
.
concat
(
"::"
).
concat
(
id
);
String
s
=
redisService
.
get
(
key
);
TypeReference
<
Map
<
Integer
,
mxCell
>>
typeReference
=
new
TypeReference
<
Map
<
Integer
,
mxCell
>>()
{
};
Map
<
Integer
,
mxCell
>
cellMap
=
JSONObject
.
parseObject
(
s
,
typeReference
);
return
cellMap
.
get
(
eaLevel
);
}
/**
* <h2>获取元素中xml内容</h2>
* 元素属性中的label<br/>
* 元素属性中的value<br/>
*
* @param mxCell 元素
* @return {@link String}
*/
public
static
String
extractValue
(
mxICell
mxCell
)
{
String
str
=
""
;
// 元素为空
if
(
mxCell
==
null
)
{
return
str
;
}
// 元素,提取label
Object
value
=
mxCell
.
getValue
();
if
(
value
instanceof
Element
)
{
Element
userObject
=
(
Element
)
value
;
String
label
=
userObject
.
getAttribute
(
"label"
);
str
=
HtmlUtil
.
cleanHtmlTag
(
label
);
}
// 字符串,去除html标签
if
(
value
instanceof
String
)
{
str
=
HtmlUtil
.
cleanHtmlTag
(
value
.
toString
());
}
return
Opt
.
ofBlankAble
(
str
).
orElse
(
"-"
);
}
/**
* 获取资产层级
*
* @param mxCell 元素
* @param levelSort 资产层级
*/
public
static
void
assertTree
(
mxCell
mxCell
,
List
<
String
>
levelSort
)
{
mxGraph
graph
=
new
mxGraph
();
int
childCount
=
mxCell
.
getChildCount
();
if
(
childCount
>
0
)
{
for
(
int
i
=
0
;
i
<
childCount
;
i
++)
{
mxCell
childAt
=
(
mxCell
)
mxCell
.
getChildAt
(
i
);
if
(
Objects
.
nonNull
(
childAt
))
{
Map
<
String
,
Object
>
map
=
graph
.
getCellStyle
(
childAt
);
if
(
MapUtil
.
isNotEmpty
(
map
))
{
String
assetId
=
MapUtil
.
getStr
(
map
,
"assetId"
);
String
archiBelongId
=
MapUtil
.
getStr
(
map
,
"archiBelongId"
);
if
(
Objects
.
nonNull
(
assetId
))
{
levelSort
.
add
(
archiBelongId
+
"-"
+
assetId
);
}
}
assertTree
(
childAt
,
levelSort
);
}
}
}
}
}
arch-overall/src/main/java/org/arch/overall/vo/AssetInfoLevelVO.java
0 → 100644
View file @
efeba8b
package
org
.
arch
.
overall
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
org.arch.overall.entity.AssetInfo
;
import
java.util.List
;
/**
* 架构资产要素
*
* @author java
* @since 2023-12-22
*/
@ApiModel
(
description
=
"架构资产要素VO"
)
@Data
@Accessors
(
chain
=
true
)
public
class
AssetInfoLevelVO
{
@ApiModelProperty
(
value
=
"架构归属"
)
private
String
archiBelongId
;
@ApiModelProperty
(
"架构归属名称"
)
private
String
archiBelongName
;
@ApiModelProperty
(
"子列表"
)
private
List
<
AssetInfo
>
subList
;
}
arch-overall/src/main/resources/bootstrap-dev.yml
View file @
efeba8b
...
...
@@ -24,9 +24,7 @@ spring:
-
data-id
:
common-filters.${nacos.file-extension}
refresh
:
true
-
data-id
:
common-datasource.${nacos.file-extension}
refresh
:
true
-
data-id
:
common-mybatis.${nacos.file-extension}
refresh
:
true
-
data-id
:
common-redis.${nacos.file-extension}
refresh
:
true
discovery
:
...
...
arch-overall/src/main/resources/mapper/ArchiAbilityAssetsRelationMapper.xml
0 → 100644
View file @
efeba8b
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.arch.overall.mapper.ArchiAbilityAssetsRelationMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"org.arch.overall.entity.ArchiAbilityAssetsRelation"
>
<!--@Table archi_ability_assets_relation-->
<result
property=
"relaId"
column=
"rela_id"
jdbcType=
"INTEGER"
/>
<result
property=
"assetId"
column=
"asset_id"
jdbcType=
"INTEGER"
/>
<result
property=
"assetCode"
column=
"asset_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"assetName"
column=
"asset_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"relaAssetId"
column=
"rela_asset_id"
jdbcType=
"INTEGER"
/>
<result
property=
"relaAssetCode"
column=
"rela_asset_code"
jdbcType=
"VARCHAR"
/>
<result
property=
"relaAssetName"
column=
"rela_asset_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"archiTypeId"
column=
"archi_type_id"
jdbcType=
"INTEGER"
/>
<result
property=
"archiType"
column=
"archi_type"
jdbcType=
"VARCHAR"
/>
<result
property=
"versionId"
column=
"version_id"
jdbcType=
"INTEGER"
/>
<result
property=
"viewId"
column=
"view_id"
jdbcType=
"INTEGER"
/>
<result
property=
"creator"
column=
"creator"
jdbcType=
"INTEGER"
/>
<result
property=
"createTime"
column=
"create_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"updateby"
column=
"updateby"
jdbcType=
"INTEGER"
/>
<result
property=
"updateTime"
column=
"update_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"delFlag"
column=
"del_flag"
jdbcType=
"INTEGER"
/>
<result
property=
"eleName"
column=
"ele_name"
jdbcType=
"VARCHAR"
/>
<result
property=
"parentAssetIds"
column=
"parent_asset_ids"
jdbcType=
"VARCHAR"
/>
<result
property=
"parentAssetNames"
column=
"parent_asset_names"
jdbcType=
"VARCHAR"
/>
<result
property=
"state"
column=
"state"
jdbcType=
"INTEGER"
/>
<result
property=
"eleRelaId"
column=
"ele_rela_id"
jdbcType=
"INTEGER"
/>
<result
property=
"iconId"
column=
"icon_id"
jdbcType=
"INTEGER"
/>
<result
property=
"assetRelaId"
column=
"asset_rela_id"
jdbcType=
"INTEGER"
/>
</resultMap>
<insert
id=
"addBach"
keyProperty=
"relaId"
useGeneratedKeys=
"true"
>
<foreach
collection=
"entities"
item=
"entity"
separator=
";"
>
insert into archi_ability_assets_relation(
<trim
suffixOverrides=
","
>
<if
test=
"entity.assetId != null"
>
asset_id,
</if>
<if
test=
"entity.assetCode != null"
>
asset_code,
</if>
<if
test=
"entity.assetName != null"
>
asset_name,
</if>
<if
test=
"entity.relaAssetId != null"
>
rela_asset_id,
</if>
<if
test=
"entity.relaAssetCode != null"
>
rela_asset_code,
</if>
<if
test=
"entity.relaAssetName != null"
>
rela_asset_name,
</if>
<if
test=
"entity.archiTypeId != null"
>
archi_type_id,
</if>
<if
test=
"entity.archiType != null"
>
archi_type,
</if>
<if
test=
"entity.versionId != null"
>
version_id,
</if>
<if
test=
"entity.viewId != null"
>
view_id,
</if>
<if
test=
"entity.creator != null"
>
creator,
</if>
<if
test=
"entity.createTime != null"
>
create_time,
</if>
<if
test=
"entity.updateby != null"
>
updateby,
</if>
<if
test=
"entity.updateTime != null"
>
update_time,
</if>
<if
test=
"entity.delFlag != null"
>
del_flag,
</if>
<if
test=
"entity.parentAssetIds != null"
>
parent_asset_ids,
</if>
<if
test=
"entity.parentAssetNames != null"
>
parent_asset_names
</if>
</trim>
)
values
<!-- <trim prefix="(" suffix=")" suffixOverrides=",">-->
<trim
suffixOverrides=
","
>
(
<if
test=
"entity.assetId != null"
>
#{entity.assetId},
</if>
<if
test=
"entity.assetCode != null"
>
#{entity.assetCode},
</if>
<if
test=
"entity.assetName != null"
>
#{entity.assetName},
</if>
<if
test=
"entity.relaAssetId != null"
>
#{entity.relaAssetId},
</if>
<if
test=
"entity.relaAssetCode != null"
>
#{entity.relaAssetCode},
</if>
<if
test=
"entity.relaAssetName != null"
>
#{entity.relaAssetName},
</if>
<if
test=
"entity.archiTypeId != null"
>
#{entity.archiTypeId},
</if>
<if
test=
"entity.archiType != null"
>
#{entity.archiType},
</if>
<if
test=
"entity.versionId != null"
>
#{entity.versionId},
</if>
<if
test=
"entity.viewId != null"
>
#{entity.viewId},
</if>
<if
test=
"entity.creator != null"
>
#{entity.creator},
</if>
<if
test=
"entity.createTime != null"
>
#{entity.createTime},
</if>
<if
test=
"entity.updateby != null"
>
#{entity.updateby},
</if>
<if
test=
"entity.updateTime != null"
>
#{entity.updateTime},
</if>
<if
test=
"entity.delFlag != null"
>
#{entity.delFlag},
</if>
<if
test=
"entity.parentAssetIds != null"
>
#{entity.parentAssetIds},
</if>
<if
test=
"entity.parentAssetNames != null"
>
#{entity.parentAssetNames}
</if>
)
</trim>
</foreach>
</insert>
<delete
id=
"removeBatchIds"
parameterType=
"java.util.List"
>
DELETE FROM archi_ability_assets_relation WHERE rela_id IN
<foreach
item=
"id"
index=
"index"
collection=
"list"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</delete>
<select
id=
"qryDataListPage"
resultType=
"org.arch.overall.entity.ArchiAbilityAssetsRelation"
>
SELECT *
FROM (
SELECT DISTINCT
aaa.*,
aai.fields_value AS fieldsValue
FROM
archi_ability_assets_relation aaa
JOIN archi_asset_info aai ON aaa.asset_id = aai.asset_id
WHERE
aaa.archi_type_id = aai.archi_belong_id
<if
test=
" dto.archiTypeId != null "
>
AND aaa.archi_type_id = #{dto.archiTypeId}
</if>
<if
test=
" dto.assetName != null and dto.assetName != '' "
>
AND aai.asset_name LIKE CONCAT('%',#{dto.assetName},'%')
</if>
<if
test=
" dto.beginTime != null "
>
AND aaa.create_time
>
= #{dto.beginTime}
</if>
<if
test=
" dto.endTime != null "
>
AND aaa.create_time
<
= #{dto.endTime}
</if>
AND aaa.del_flag = 0
AND aai.del_flag = 0
ORDER BY aaa.update_time DESC
) AS subquery
GROUP BY asset_name
</select>
<!--资产关系-->
<select
id=
"queryAssetRelation"
resultType=
"org.arch.common.archoverall.vo.ArchiAbilityAssetsRelationQueryVO"
>
select aaar.rela_id,
aaar.asset_id,
aaar.asset_code,
aaar.asset_name,
aaar.rela_asset_id,
aaar.rela_asset_code,
aaar.rela_asset_name,
aaar.archi_type_id,
aaar.archi_type,
aaar.version_id,
aaar.view_id,
aaar.creator,
aaar.create_time,
aaar.updateby,
aaar.update_time,
aaar.del_flag,
aaar.ele_name,
aaar.parent_asset_ids,
aaar.parent_asset_names,
aaar.ele_rela_id,
aaar.`state`,
aaar.icon_id,
aaer.rs_name
from archi_ability_assets_relation aaar
left join archi_asset_ele_rela aaer on aaar.asset_rela_id = aaer.asset_rela_id
<where>
<if
test=
"params.relaAssetName != null and params.relaAssetName != ''"
>
and aaar.rela_asset_name like concat('%', #{params.relaAssetName}, '%')
</if>
<if
test=
"params.assetName != null and params.assetName != ''"
>
and aaar.asset_name like concat('%', #{params.assetName}, '%')
</if>
<if
test=
"params.rcName != null and params.rcName != ''"
>
and aaer.rs_name like concat('%', #{params.rcName}, '%')
</if>
<if
test=
"params.state != null"
>
and aaar.state = #{params.state}
</if>
<if
test=
"params.relaId != null"
>
and aaar.rela_id = #{params.relaId}
</if>
<if
test=
"params.assetRelaId != null"
>
and aaar.asset_rela_id = #{params.assetRelaId}
</if>
and aaar.del_flag = 0
</where>
order by aaar.create_time desc
</select>
<!--资产关系数量-->
<select
id=
"queryAssetRelationCountByTypeId"
resultType=
"java.lang.Long"
>
select count(1)
from archi_ability_assets_relation aaar
where aaar.asset_rela_id = #{assetRelaId}
and aaar.del_flag = 0
</select>
</mapper>
arch-overall/src/main/resources/mapper/ArchiAssertMapper.xml
0 → 100644
View file @
efeba8b
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.arch.overall.mapper.ArchiAssertMapper"
>
<select
id=
"maxVer"
resultType=
"org.arch.overall.entity.AssetInfo"
>
SELECT MAX(a.version) as version
FROM archi_asset_info a
<where>
<if
test=
"archiType != null and archiType != ''"
>
and a.archi_type = #{archiType}
</if>
<if
test=
"archiAssetState != null"
>
and a.archi_asset_state = #{archiAssetState}
</if>
<if
test=
"archiStage != null"
>
and a.archi_stage = #{archiStage}
</if>
and a.del_flag = 0
</where>
</select>
<!--根据需求评审-->
<select
id=
"qyNeedReview"
resultType=
"org.arch.common.archoverall.vo.NeedReviewVo"
>
select ni.year,
ni.bat_name,
ni.need_name,
ni.need_id,
ni.prj_name,
ni.build_type,
gr.review_suggestion,
gr.review_state
from need_info ni
left join gover_review gr on ni.need_id = gr.need_id
<where>
<if
test=
"nigr.year != null"
>
and ni.year = #{nigr.year}
</if>
<if
test=
"nigr.batName != null and nigr.batName != ''"
>
and ni.bat_name like concat('%', #{nigr.batName}, '%')
</if>
<if
test=
"nigr.needName != null and nigr.needName != ''"
>
and ni.need_name like concat('%', #{nigr.needName}, '%')
</if>
<if
test=
"nigr.prjName != null and nigr.prjName != ''"
>
and ni.prj_name like concat('%', #{nigr.prjName}, '%')
</if>
<if
test=
"nigr.buildType != null"
>
and ni.build_type = #{nigr.buildType}
</if>
<if
test=
"nigr.needIdList != null and !nigr.needIdList.isEmpty()"
>
and review_id in
<foreach
collection=
"nigr.needIdList"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
and ni.need_type = 2
and ni.state = 1
and gr.review_type = #{nigr.reviewEnum.code}
</where>
</select>
<!--查询概设材料列表-->
<select
id=
"qyOnlineReview"
resultType=
"org.arch.overall.entity.OnlineReviewWrite"
>
SELECT ni.year,
ni.need_id,
ni.prj_id,
ni.bat_name,
ni.need_name,
ni.prj_name,
ni.org_name,
sf.file_name as require_name,
sf.url as file_url,
orw.push_state,
CONCAT(
FLOOR(TIMESTAMPDIFF(HOUR, NOW(), orw.excess_time) / 24), '天 ',
MOD(TIMESTAMPDIFF(HOUR, NOW(), orw.excess_time), 24), '小时'
) as excess_time,
orw.online_review_state,
orw.review_suggestion
FROM need_info ni
JOIN
online_review_write orw ON ni.need_id = orw.need_id
JOIN
prj_need_file pnf ON ni.prj_id = pnf.busi_id
left join sys_file sf on pnf.file_id = sf.id
<where>
<if
test=
"onl.year != null"
>
and ni.year = #{onl.year}
</if>
<if
test=
"onl.batName != null and onl.batName != ''"
>
and ni.bat_name like concat('%', #{onl.batName}, '%')
</if>
<if
test=
"onl.needName != null and onl.needName != ''"
>
and ni.need_name like concat('%', #{onl.needName}, '%')
</if>
<if
test=
"onl.prjName != null and onl.prjName != ''"
>
and ni.prj_name like concat('%', #{onl.prjName}, '%')
</if>
and ni.need_type = 2
and ni.state = 1
and pnf.busi_id_type = '1'
and pnf.busi_file_name = '概要设计说明书'
</where>
</select>
<!--概设关联业务管理-概设统计分析-各单位概设统计-->
<select
id=
"qyneedCount"
resultType=
"org.arch.common.archoverall.vo.OnlineReviewCountVO"
>
<choose>
<when
test=
"orcy.countType != null and orcy.countType == 1"
>
SELECT so.org_id AS manageorgid,
so.org_name AS manageorgname,
COUNT(ni.need_id) AS needcount,
COUNT(CASE WHEN ni.approve_state = 3 THEN 1 END) AS reviewpasscount,
IFNULL(ROUND(COUNT(CASE WHEN ni.approve_state = 3 THEN 1 END) / COUNT(ni.need_id), 2) * 100, 0) AS passrate
FROM sys_org so
LEFT JOIN need_info ni ON so.org_id = ni.org_id
<where>
<if
test=
"orcy.year != null and orcy.year != ''"
>
AND YEAR(ni.create_time) = YEAR(#{orcy.year})
</if>
</where>
GROUP BY so.org_id, so.org_name
</when>
<when
test=
"orcy.countType != null and orcy.countType == 2"
>
SELECT bpi.bat_plan_id AS batPlanId,
bpi.bat_name AS batName,
COUNT(bpi.bat_plan_id) AS needcount,
COUNT(CASE WHEN ni.approve_state = 3 THEN 1 END) AS reviewpasscount,
IFNULL(ROUND(COUNT(CASE WHEN ni.approve_state = 3 THEN 1 END) / COUNT(bpi.bat_plan_id), 2) * 100, 0) AS passrate
FROM bat_plan_info bpi
LEFT JOIN need_info ni ON bpi.bat_plan_id = ni.bat_plan_id
<where>
<if
test=
"orcy.year != null and orcy.year != ''"
>
AND YEAR(ni.create_time) = YEAR(#{orcy.year})
</if>
</where>
GROUP BY bpi.bat_plan_id, bpi.bat_name
</when>
</choose>
</select>
<select
id=
"qyreviewPassCount"
resultType=
"org.arch.common.archoverall.vo.OnlineReviewCountVO"
>
SELECT subquery.manage_org_id,
(select og.org_name from sys_org og where og.org_id = subquery.manage_org_id) AS manage_org_name,
COUNT(subquery.need_id) as review_pass_count
FROM (SELECT app.manage_org_id, ned.need_id
FROM app_info app
JOIN prj_info prj ON app.app_id = prj.app_id
JOIN need_info ned ON prj.prj_id = ned.prj_id
JOIN gover_review gr ON ned.need_id = gr.need_id
WHERE gr.review_state = '1'
AND gr.review_type IN ('report_norm', 'framework_obey', 'tech_route', 'function_unlike', 'app_dep', 'app_int', 'app_safe', 'function_s_risk', 'data_s_insert_risk')
AND ned.create_time like concat('%', #{orcy.year}, '%')
GROUP BY ned.need_id
HAVING COUNT(DISTINCT gr.review_type) = 9) AS subquery
GROUP BY subquery.manage_org_id
</select>
<select
id=
"qybatNeedCount"
resultType=
"org.arch.common.archoverall.vo.OnlineReviewCountVO"
>
SELECT bat.bat_plan_id,
bat.bat_name,
COUNT(ned.need_id) as need_count
FROM bat_plan_info bat
JOIN need_info ned ON bat.bat_plan_id = ned.bat_plan_id
<where>
<if
test=
"orqy.year != null and orqy.year != ''"
>
and bat.year = #{orqy.year}
</if>
</where>
GROUP BY bat.bat_plan_id,
bat.bat_name
</select>
<select
id=
"qybatReviewPassCount"
resultType=
"org.arch.common.archoverall.vo.OnlineReviewCountVO"
>
SELECT subquery.bat_plan_id, subquery.bat_name, COUNT(subquery.need_id) as review_pass_count
FROM (SELECT bat.bat_plan_id, bat.bat_name, ned.need_id
FROM bat_plan_info bat
JOIN need_info ned ON bat.bat_plan_id = ned.bat_plan_id
JOIN gover_review gr ON ned.need_id = gr.need_id
WHERE gr.review_state = '1'
AND gr.review_type IN ('report_norm', 'framework_obey', 'tech_route', 'function_unlike', 'app_dep', 'app_int', 'app_safe', 'function_s_risk', 'data_s_insert_risk')
AND bat.year = #{orqy.year}
GROUP BY ned.need_id
HAVING COUNT(DISTINCT gr.review_type) = 9) AS subquery
GROUP BY subquery.bat_plan_id, subquery.bat_name
</select>
</mapper>
\ No newline at end of file
arch-overall/src/main/resources/mapper/ArchiAssetInfoMapper.xml
0 → 100644
View file @
efeba8b
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.arch.overall.mapper.ArchiAssetInfoMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"org.arch.overall.entity.AssetInfo"
>
<!--@mbg.generated-->
<!--@Table archi_asset_info-->
<id
column=
"asset_id"
jdbcType=
"BIGINT"
property=
"assetId"
/>
<id
column=
"version_id"
jdbcType=
"BIGINT"
property=
"versionId"
/>
<result
column=
"asset_name"
jdbcType=
"VARCHAR"
property=
"assetName"
/>
<result
column=
"asset_code"
jdbcType=
"VARCHAR"
property=
"assetCode"
/>
<result
column=
"parent_asset_id"
jdbcType=
"BIGINT"
property=
"parentAssetId"
/>
<result
column=
"parent_asset_name"
jdbcType=
"VARCHAR"
property=
"parentAssetName"
/>
<result
column=
"parent_code"
jdbcType=
"VARCHAR"
property=
"parentCode"
/>
<result
column=
"archi_ele_id"
jdbcType=
"BIGINT"
property=
"archiEleId"
/>
<result
column=
"ele_name"
jdbcType=
"VARCHAR"
property=
"eleName"
/>
<result
column=
"archi_type"
jdbcType=
"VARCHAR"
property=
"archiType"
/>
<result
column=
"archi_belong_id"
jdbcType=
"TINYINT"
property=
"archiBelongId"
/>
<result
column=
"archi_asset_state"
jdbcType=
"TINYINT"
property=
"archiAssetState"
/>
<result
column=
"archi_asset_type"
jdbcType=
"TINYINT"
property=
"archiAssetType"
/>
<result
column=
"archi_stage"
jdbcType=
"TINYINT"
property=
"archiStage"
/>
<result
column=
"archi_asset_type_id"
jdbcType=
"BIGINT"
property=
"archiAssetTypeId"
/>
<result
column=
"target_asset"
jdbcType=
"VARCHAR"
property=
"targetAsset"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"create_man"
jdbcType=
"BIGINT"
property=
"createMan"
/>
<result
column=
"last_update_time"
jdbcType=
"TIMESTAMP"
property=
"lastUpdateTime"
/>
<result
column=
"last_update_man"
jdbcType=
"BIGINT"
property=
"lastUpdateMan"
/>
<result
column=
"fields_value"
jdbcType=
"VARCHAR"
property=
"fieldsValue"
/>
<result
column=
"column01"
jdbcType=
"VARCHAR"
property=
"column01"
/>
<result
column=
"column02"
jdbcType=
"LONGVARCHAR"
property=
"column02"
/>
<result
column=
"orign_version_id"
jdbcType=
"BIGINT"
property=
"orignVersionId"
/>
<result
column=
"sort"
jdbcType=
"INTEGER"
property=
"sort"
/>
<result
column=
"is_show"
jdbcType=
"TINYINT"
property=
"isShow"
/>
<result
column=
"orign_asset_id"
jdbcType=
"BIGINT"
property=
"orignAssetId"
/>
<result
column=
"del_flag"
jdbcType=
"TINYINT"
property=
"delFlag"
/>
<result
column=
"state"
jdbcType=
"TINYINT"
property=
"state"
/>
<result
column=
"version"
jdbcType=
"VARCHAR"
property=
"version"
/>
<result
column=
"is_extend"
jdbcType=
"TINYINT"
property=
"isExtend"
/>
<result
column=
"build_type"
jdbcType=
"TINYINT"
property=
"buildType"
/>
<result
column=
"parent_element"
jdbcType=
"VARCHAR"
property=
"parentElement"
/>
<result
column=
"icon"
property=
"icon"
/>
<result
column=
"icon_name"
property=
"iconName"
/>
<result
column=
"color"
jdbcType=
"VARCHAR"
property=
"color"
/>
<result
column=
"asset_number"
jdbcType=
"VARCHAR"
property=
"assetNumber"
/>
<result
column=
"graph_id"
jdbcType=
"BIGINT"
property=
"graphId"
/>
<result
column=
"parent_asset"
jdbcType=
"VARCHAR"
property=
"parentAsset"
/>
<result
column=
"id"
jdbcType=
"VARCHAR"
property=
"id"
/>
</resultMap>
<!--分页-->
<select
id=
"query"
resultMap=
"BaseResultMap"
>
select aai.asset_id,
aai.asset_name,
aai.parent_asset_id,
aai.parent_asset_name,
aai.parent_code,
aai.version_id,
aai.archi_ele_id,
aai.ele_name,
aai.archi_type,
aai.archi_belong_id,
aai.archi_asset_state,
aai.archi_asset_type,
aai.archi_stage,
aai.archi_asset_type_id,
aai.create_time,
aai.create_man,
aai.last_update_time,
aai.orign_version_id,
aai.sort,
aai.is_show,
aai.orign_asset_id,
aai.`state`,
aai.version,
aai.build_type,
aai.parent_element,
aai.color,
aai.asset_number,
aai.graph_id,
aai.target_asset,
aai.last_update_man,
aai.is_extend,
aai.fields_value,
aai.parent_asset,
gmi.icon,
gmi.graph_name as icon_name
from archi_asset_info aai
left join graph_meta_info gmi on (aai.graph_id = gmi.graph_id)
<if
test=
"params.prjId != null or params.appId != null"
>
left join archi_asset_app_prj aaap on (aai.asset_id = aaap.asset_id)
</if>
<where>
<if
test=
"params != null and params.assetName != null and params.assetName != ''"
>
and aai.asset_name like concat('%', #{params.assetName}, '%')
</if>
<if
test=
"params.archiBelongId != null"
>
and aai.archi_belong_id = #{params.archiBelongId}
</if>
<if
test=
"params.assetConstant != null and params.assetConstant != ''"
>
and aai.archi_type = #{params.assetConstant}
</if>
<if
test=
"params.archiStage != null"
>
and aai.archi_stage = #{params.archiStage}
</if>
<if
test=
"params.archiEleId != null"
>
and aai.archi_ele_id = #{params.archiEleId}
</if>
<if
test=
"params.state != null"
>
and aai.state = #{params.state}
</if>
<if
test=
"params.archiAssetState != null"
>
and aai.archi_asset_state = #{params.archiAssetState}
</if>
<if
test=
"params.archiAssetType != null"
>
and aai.archi_asset_type = #{params.archiAssetType}
</if>
<if
test=
"params.archiAssetTypeId != null"
>
and aai.archi_asset_type_id = #{params.archiAssetTypeId}
</if>
<if
test=
"params.parentAssetId != null"
>
and aai.parent_asset_id = #{params.parentAssetId}
</if>
<if
test=
"params.buildType != null"
>
and aai.build_type = #{params.buildType}
</if>
<if
test=
"params.isExtend != null"
>
and aai.is_extend = #{params.isExtend}
</if>
<if
test=
"params.eleIdList != null and params.eleIdList.size() > 0"
>
AND aai.archi_ele_id in
<foreach
item=
"eleId"
collection=
"params.eleIdList"
open=
"("
separator=
","
close=
")"
>
#{eleId}
</foreach>
</if>
<if
test=
"params.assetIdList != null and params.assetIdList.size() > 0"
>
AND aai.asset_id in
<foreach
item=
"assetId"
collection=
"params.assetIdList"
open=
"("
separator=
","
close=
")"
>
#{assetId}
</foreach>
</if>
<if
test=
"params.prjId != null"
>
and aaap.prj_id = #{params.prjId}
</if>
<if
test=
"params.appId != null"
>
and aaap.app_id = #{params.appId}
</if>
<if
test=
"params.archiViewId != null"
>
and find_in_set(aai.archi_ele_id, (select ave.archi_ele_id from archi_view_ele ave where archi_view_id = #{params.archiViewId}))
</if>
and aai.del_flag = 0
</where>
order by aai.create_time desc
<if
test=
"params.limit != null"
>
limit #{params.limit}
</if>
</select>
<!--目标态-架构资产详情-->
<select
id=
"info"
resultMap=
"BaseResultMap"
>
select aai.asset_id,
aai.asset_name,
aai.asset_code,
aai.parent_asset_id,
aai.parent_asset_name,
aai.parent_code,
aai.version_id,
aai.archi_ele_id,
aai.ele_name,
aai.archi_type,
aai.archi_belong_id,
aai.archi_asset_state,
aai.archi_asset_type,
aai.archi_stage,
aai.archi_asset_type_id,
aai.target_asset,
aai.create_time,
aai.create_man,
aai.last_update_time,
aai.last_update_man,
aai.fields_value,
aai.column01,
aai.column02,
aai.orign_version_id,
aai.sort,
aai.is_show,
aai.orign_asset_id,
aai.del_flag,
aai.`state`,
aai.version,
aai.is_extend,
aai.build_type,
aai.parent_element,
aai.color,
aai.asset_number,
aai.graph_id,
aai.parent_asset,
aai.asset_id as id,
gmi.icon,
gmi.graph_name as icon_name
from archi_asset_info aai
left join graph_meta_info gmi on (aai.graph_id = gmi.graph_id)
where aai.asset_id = #{assetId}
</select>
</mapper>
\ No newline at end of file
arch-overall/src/main/resources/mapper/ArchiElePropertyMapper.xml
0 → 100644
View file @
efeba8b
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.arch.overall.mapper.ArchiElePropertyMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"org.arch.overall.entity.ArchiEleProperty"
>
<result
column=
"property_id"
property=
"propertyId"
/>
<result
column=
"type_id"
property=
"typeId"
/>
<result
column=
"type"
property=
"type"
/>
<result
column=
"field_name"
property=
"fieldName"
/>
<result
column=
"cn_name"
property=
"cnName"
/>
<result
column=
"property_value"
property=
"propertyValue"
/>
<result
column=
"display_order"
property=
"displayOrder"
/>
<result
column=
"content_length"
property=
"contentLength"
/>
<result
column=
"control_type"
property=
"controlType"
/>
<result
column=
"dict_key"
property=
"dictKey"
/>
<result
column=
"dicy_id"
property=
"dicyId"
/>
<result
column=
"create_man"
property=
"createMan"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"last_update_time"
property=
"lastUpdateTime"
/>
<result
column=
"last_update_man"
property=
"lastUpdateMan"
/>
<result
column=
"del_flag"
property=
"delFlag"
/>
<result
column=
"default_value"
property=
"defaultValue"
/>
<result
column=
"not_null"
property=
"notNull"
/>
<result
column=
"is_show"
property=
"isShow"
/>
<result
column=
"data_type"
property=
"dataType"
/>
<result
column=
"data_type_name"
property=
"dataTypeName"
/>
<result
column=
"sort"
property=
"sort"
/>
</resultMap>
<select
id=
"gtArchiElePropertyList"
resultMap=
"BaseResultMap"
>
SELECT aep.property_id,
aep.type_id,
aep.type,
aep.field_name,
aep.cn_name,
aep.display_order,
aep.content_length,
aep.control_type,
aep.dict_key,
aep.dicy_id,
aep.create_man,
aep.create_time,
aep.last_update_time,
aep.last_update_man,
aep.del_flag,
aep.default_value,
aep.not_null,
aep.is_show,
aep.data_type,
aep.data_type_name,
aep.sort,
aep.property_value
FROM archi_ele_property aep
<where>
AND aep.del_flag = 0
<if
test=
"yp.typeId != null"
>
AND aep.type_id = #{yp.typeId}
</if>
<if
test=
"yp.type != null"
>
AND aep.type = #{yp.type}
</if>
</where>
ORDER BY aep.sort
</select>
</mapper>
\ No newline at end of file
arch-overall/src/main/resources/mapper/ArchiEleRelaConstrainMapper.xml
0 → 100644
View file @
efeba8b
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.arch.overall.mapper.ArchiEleRelaConstrainMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"org.arch.overall.entity.ArchiEleRelaConstrain"
>
<!--@mbg.generated-->
<!--@Table archi_ele_rela_constrain-->
<id
column=
"constrain_id"
jdbcType=
"BIGINT"
property=
"constrainId"
/>
<result
column=
"ele_gt_id"
jdbcType=
"BIGINT"
property=
"eleGtId"
/>
<result
column=
"ele_lt_id"
jdbcType=
"BIGINT"
property=
"eleLtId"
/>
<result
column=
"ele_gt_name"
jdbcType=
"VARCHAR"
property=
"eleGtName"
/>
<result
column=
"ele_lt_name"
jdbcType=
"VARCHAR"
property=
"eleLtName"
/>
<result
column=
"ele_rela_id"
jdbcType=
"BIGINT"
property=
"eleRelaId"
/>
<result
column=
"ele_rela_name"
jdbcType=
"VARCHAR"
property=
"eleRelaName"
/>
<result
column=
"scope"
jdbcType=
"TINYINT"
property=
"scope"
/>
<result
column=
"state"
jdbcType=
"TINYINT"
property=
"state"
/>
<result
column=
"create_man"
jdbcType=
"BIGINT"
property=
"createMan"
/>
<result
column=
"create_time"
jdbcType=
"TIMESTAMP"
property=
"createTime"
/>
<result
column=
"last_update_time"
jdbcType=
"TIMESTAMP"
property=
"lastUpdateTime"
/>
<result
column=
"last_update_man"
jdbcType=
"BIGINT"
property=
"lastUpdateMan"
/>
<result
column=
"del_flag"
jdbcType=
"TINYINT"
property=
"delFlag"
/>
</resultMap>
<!--元素和元素关系列表-->
<resultMap
id=
"EleBaseResultMap"
type=
"org.arch.common.archoverall.vo.ArchiEleRelaVO"
>
<id
column=
"ele_rela_id"
jdbcType=
"BIGINT"
property=
"eleRelaId"
/>
<result
column=
"ele_rela_name"
jdbcType=
"VARCHAR"
property=
"eleRelaName"
/>
<result
column=
"source_element_id"
property=
"sourceElementId"
/>
<result
column=
"source_element_name"
property=
"sourceElementName"
/>
<result
column=
"source_icon"
property=
"sourceIcon"
/>
<result
column=
"source_icon_name"
property=
"sourceIconName"
/>
<result
column=
"source_color"
property=
"sourceIcon"
/>
<result
column=
"target_element_id"
property=
"targetElementId"
/>
<result
column=
"target_element_name"
property=
"targetElementName"
/>
<result
column=
"target_icon"
property=
"targetIcon"
/>
<result
column=
"target_icon_name"
property=
"targetIconName"
/>
<result
column=
"target_color"
property=
"targetColor"
/>
</resultMap>
<!--批量添加-->
<insert
id=
"batchInsert"
>
insert into archi_ele_rela_constrain (ele_gt_id, ele_lt_id, ele_gt_name, ele_lt_name, ele_rela_id, ele_rela_name,
`scope`, create_man, create_time, last_update_time, last_update_man)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.eleGtId}, #{item.eleLtId}, #{item.eleGtName}, #{item.eleLtName}, #{item.eleRelaId}, #{item.eleRelaName},
#{item.scope}, #{item.createMan}, #{item.createTime}, #{item.lastUpdateTime}, #{item.lastUpdateMan})
</foreach>
</insert>
<!--根据元素关系编码查询约束条件-->
<select
id=
"getArchiEleRelaConstraint"
resultMap=
"BaseResultMap"
>
select aerc.constrain_id,
aerc.ele_gt_id,
aerc.ele_lt_id,
aerc.ele_gt_name,
aerc.ele_lt_name,
aerc.ele_rela_id,
aerc.ele_rela_name,
aerc.`scope`
from archi_ele_rela_constrain aerc
where aerc.ele_rela_id = #{eleRelaId}
and aerc.del_flag = 0
</select>
<!--根据元素关系,删除元素关系-->
<delete
id=
"delByRelaId"
>
delete
from archi_ele_rela_constrain aerc
where aerc.ele_rela_id = #{eleRelaId}
</delete>
<!--根据元素关系ID查询元素关系-->
<select
id=
"findEleRelaConstrainList"
resultMap=
"EleBaseResultMap"
>
select aerc.ele_rela_id,
aerc.ele_rela_name,
ae.element_id as source_element_id,
ae.element_name as source_element_name,
ae.icon as source_icon,
ae.icon_name as source_icon_name,
ae.color as source_color,
ae1.element_id as target_element_id,
ae1.element_name as target_element_name,
ae1.icon as target_icon,
ae1.icon_name as target_icon_name,
ae1.color as target_color
from archi_ele_rela_constrain aerc
left join archi_element ae on ae.element_id = aerc.ele_gt_id
left join archi_element ae1 on ae1.element_id = aerc.ele_lt_id
where aerc.ele_rela_id = #{eleRelaId}
</select>
</mapper>
\ No newline at end of file
arch-overall/src/main/resources/mapper/ArchiEleRelaMapper.xml
0 → 100644
View file @
efeba8b
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.arch.overall.mapper.ArchiEleRelaMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"org.arch.overall.entity.ArchiEleRela"
>
<result
column=
"ele_rela_id"
property=
"eleRelaId"
/>
<result
column=
"ele_rela_code"
property=
"eleRelaCode"
/>
<result
column=
"rs_name"
property=
"rsName"
/>
<result
column=
"object1"
property=
"object1"
/>
<result
column=
"object2"
property=
"object2"
/>
<result
column=
"content"
property=
"content"
/>
<result
column=
"icon"
property=
"icon"
/>
<result
column=
"icon_name"
property=
"iconName"
/>
<result
column=
"icon_id"
property=
"iconId"
/>
<result
column=
"version"
property=
"version"
/>
<result
column=
"state"
property=
"state"
/>
<result
column=
"create_man"
property=
"createMan"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"last_update_time"
property=
"lastUpdateTime"
/>
<result
column=
"last_update_man"
property=
"lastUpdateMan"
/>
<result
column=
"del_flag"
property=
"delFlag"
/>
<result
column=
"scope"
property=
"scope"
/>
</resultMap>
<!--分页-->
<select
id=
"gtArchiEleRela"
resultMap=
"BaseResultMap"
>
SELECT er.ele_rela_id,
er.ele_rela_code,
er.rs_name,
er.object1,
er.object2,
er.scope,
er.content,
er.icon,
er.icon_name,
er.version,
er.state,
er.create_man,
er.create_time,
er.last_update_time,
er.last_update_man,
er.del_flag,
er.icon_id
from archi_ele_rela er
where er.del_flag = '0'
<if
test=
"dto.rsName != null and dto.rsName != ''"
>
and er.rs_name LIKE CONCAT('%', #{dto.rsName}, '%')
</if>
<if
test=
"dto.state != null"
>
and er.state = #{dto.state}
</if>
order by er.create_time desc
</select>
<!--列表-->
<select
id=
"gtEleRelList"
resultMap=
"BaseResultMap"
>
select er.ele_rela_id,
er.ele_rela_code,
er.rs_name,
er.object1,
er.object2,
er.`scope`,
er.content,
er.icon,
er.icon_name,
er.version,
er.`state`,
er.create_man,
er.create_time,
er.last_update_time,
er.last_update_man,
er.del_flag,
er.icon_id,
er.shape_width,
er.shape_height
from archi_ele_rela er
<where>
and er.del_flag = '0'
<if
test=
"dto.rsName != null and dto.rsName != ''"
>
and er.rs_name = #{dto.rsName}
</if>
<if
test=
"dto.scope != null and dto.scope != ''"
>
and er.scope = #{dto.scope}
</if>
<if
test=
"dto.state != null"
>
and er.state = #{dto.state}
</if>
</where>
order by er.create_time desc
</select>
<!--查询资产关系-->
<select
id=
"findEleRelaList"
resultType=
"org.arch.common.archoverall.vo.ArchiEleRelaNameVO"
>
select aer.ele_rela_id,
aer.rs_name
from archi_ele_rela aer
where del_flag = '0'
</select>
<!--获取最新版本-->
<select
id=
"getVersion"
resultType=
"java.lang.String"
>
set @i := (
<include
refid=
"org.arch.overall.mapper.VersionInitMapper.versionInit"
/>
);
</select>
</mapper>
\ No newline at end of file
arch-overall/src/main/resources/mapper/ArchiMetaModelMapper.xml
0 → 100644
View file @
efeba8b
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"org.arch.overall.mapper.ArchiMetaModelMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"org.arch.overall.entity.ArchiMetaModel"
>
<result
column=
"meta_model_id"
property=
"metaModelId"
/>
<result
column=
"meta_model_code"
property=
"metaModelCode"
/>
<result
column=
"version"
property=
"version"
/>
<result
column=
"ver_name"
property=
"verName"
/>
<result
column=
"state"
property=
"state"
/>
<result
column=
"create_man"
property=
"createMan"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"last_update_time"
property=
"lastUpdateTime"
/>
<result
column=
"last_update_man"
property=
"lastUpdateMan"
/>
<result
column=
"del_flag"
property=
"delFlag"
/>
<result
column=
"meta_model_data"
property=
"metaModelData"
/>
<result
column=
"meta_model_svg"
property=
"metaModelSvg"
/>
<result
column=
"graph_id"
property=
"graphId"
/>
</resultMap>
<select
id=
"selectVer"
resultMap=
"BaseResultMap"
>
select (SELECT CONCAT((SELECT REPLACE((select date_format(now(), '%Y-%m-%d')), CHAR(45), '')), '-V', (SELECT (select date_format(now(), '%Y')) - 2023 + 1), '.',
(select date_format(now(), '%m')), '.', '1')) as version
</select>
<!--列表-->
<select
id=
"getYnMol"
resultMap=
"BaseResultMap"
>
Select mm.meta_model_id,
mm.meta_model_code,
mm.version,
mm.ver_name,
mm.create_man,
mm.create_time,
mm.last_update_time,
mm.last_update_man,
mm.del_flag,
mm.state,
gr.graph_id,
gr.icon as meta_model_svg,
gr.content as meta_model_data
FROM archi_meta_model mm
left join graph_repository gr on mm.graph_id = gr.graph_id
<where>
AND mm.del_flag = 0
<if
test=
"dto.verName != null and dto.verName != ''"
>
AND mm.ver_name LIKE CONCAT('%', #{dto.verName}, '%')
</if>
<if
test=
"dto.state != null"
>
AND mm.state = #{dto.state}
</if>
</where>
order by mm.create_time desc
</select>
<!--更新画布信息和svg缩略图-->
<update
id=
"updateMxGraphModel"
>
update archi_meta_model
set graph_id = #{graphId},
last_update_time = now()
where meta_model_id = #{metaModelId}
</update>
<!-- 元模型画布细信息-->
<select
id=
"getMxCellByMetaModelId"
resultType=
"java.lang.String"
>
select gr.content
from archi_meta_model amm
left join graph_repository gr on amm.graph_id = gr.graph_id
where amm.meta_model_id = #{metaModelId}
and amm.del_flag = '0'
</select>
<!-- 元模型画布缩略图-->
<select
id=
"findMetaModelById"
resultMap=
"BaseResultMap"
>
select amm.meta_model_id,
amm.meta_model_code,
amm.ver_name,
amm.version,
amm.state,
amm.graph_id,
gr.icon as meta_model_svg,
ifnull(gr.content, '${@com.eadc.common.Constant@MX_MODEL_GRAPH}') as meta_model_data
from archi_meta_model amm
left join graph_repository gr on amm.graph_id = gr.graph_id
where amm.meta_model_id = #{metaModelId}
and amm.del_flag = '0'
</select>
</mapper>
\ No newline at end of file
pom.xml
View file @
efeba8b
...
...
@@ -80,10 +80,16 @@
<orgjson.version>
20180130
</orgjson.version>
<httpclient.version>
3.1
</httpclient.version>
<configuration.version>
1.10
</configuration.version>
<mybatisPlus.version>
1.4.11
</mybatisPlus.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>
com.github.yulichang
</groupId>
<artifactId>
mybatis-plus-join-core
</artifactId>
<version>
${mybatisPlus.version}
</version>
</dependency>
<dependency>
<groupId>
commons-configuration
</groupId>
<artifactId>
commons-configuration
</artifactId>
<version>
${configuration.version}
</version>
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment