Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
setup-manager
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
setup-manager
Commits
6b31dc60
Commit
6b31dc60
authored
Oct 30, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加前端解压
parent
05601421
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
192 additions
and
2 deletions
+192
-2
setup-project-manager/src/main/java/com/mortals/xhx/common/code/ProductDisEnum.java
...main/java/com/mortals/xhx/common/code/ProductDisEnum.java
+8
-2
setup-project-manager/src/main/java/com/mortals/xhx/daemon/task/CheckProjectStatusTaskImpl.java
...m/mortals/xhx/daemon/task/CheckProjectStatusTaskImpl.java
+51
-0
setup-project-manager/src/main/java/com/mortals/xhx/module/setup/service/SetupProjectService.java
...mortals/xhx/module/setup/service/SetupProjectService.java
+2
-0
setup-project-manager/src/main/java/com/mortals/xhx/module/setup/service/impl/SetupProjectServiceImpl.java
...hx/module/setup/service/impl/SetupProjectServiceImpl.java
+80
-0
setup-project-manager/src/main/java/com/mortals/xhx/module/setup/web/SetupProjectController.java
.../mortals/xhx/module/setup/web/SetupProjectController.java
+51
-0
No files found.
setup-project-manager/src/main/java/com/mortals/xhx/common/code/ProductDisEnum.java
View file @
6b31dc60
...
...
@@ -10,9 +10,15 @@ import java.util.Map;
* @date: 2024/9/14 14:21
*/
public
enum
ProductDisEnum
{
网关服务
(
"smart-gateway"
,
"gateway-platform"
),
基础服务
(
"base-manager"
,
"base-platform"
),
网关服务
(
"smart-gateway"
,
"gateway-gateway"
),
基础服务
(
"base-manager"
,
"base-manager"
),
基础服务前端
(
"base-manager-ui"
,
"base-manager-ui"
),
门户服务
(
"portal-manager"
,
"portal-platform"
),
门户服务前端
(
"portal-manager-ui"
,
"portal-manager-ui"
),
设备管理服务
(
"device-manager"
,
"device-platform"
),
设备管理服务前端
(
"device-manager-ui"
,
"device-manager-ui"
),
日志管理服务
(
"log-manager"
,
"log-manager"
),
日志管理服务前端
(
"log-manager-ui"
,
"log-manager-ui"
),
样表服务
(
"sample-form-manager"
,
"sample-form-manager"
),
样表前端
(
"sample-form-manager-ui"
,
"sample-form-manager-ui"
),
...
...
setup-project-manager/src/main/java/com/mortals/xhx/daemon/task/CheckProjectStatusTaskImpl.java
0 → 100644
View file @
6b31dc60
package
com.mortals.xhx.daemon.task
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.common.code.ProjectTypeEnum
;
import
com.mortals.xhx.module.setup.model.SetupProjectEntity
;
import
com.mortals.xhx.module.setup.service.SetupProjectService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 检测项目运行状态
*/
@Slf4j
@Service
(
"CheckProjectStatusTask"
)
public
class
CheckProjectStatusTaskImpl
implements
ITaskExcuteService
{
@Autowired
private
SetupProjectService
setupProjectService
;
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
log
.
info
(
"检测项目运行状态任务"
);
List
<
SetupProjectEntity
>
setupProjectEntities
=
setupProjectService
.
find
(
new
SetupProjectEntity
());
for
(
SetupProjectEntity
setupProjectEntity
:
setupProjectEntities
)
{
if
(
ProjectTypeEnum
.
后端
.
getValue
()
==
setupProjectEntity
.
getProjectType
())
{
//todo
}
else
if
(
ProjectTypeEnum
.
前端
.
getValue
()
==
setupProjectEntity
.
getProjectType
())
{
//todo
}
}
}
@Override
public
void
stopTask
(
ITask
task
)
throws
AppException
{
}
}
setup-project-manager/src/main/java/com/mortals/xhx/module/setup/service/SetupProjectService.java
View file @
6b31dc60
...
...
@@ -20,6 +20,8 @@ public interface SetupProjectService extends ICRUDService<SetupProjectEntity,Lon
Rest
<
String
>
distribute
(
SetupProjectEntity
setupProjectEntity
,
Context
context
);
Rest
<
String
>
distributeInit
(
SetupProjectEntity
setupProjectEntity
,
Context
context
);
Rest
<
String
>
appDeploy
(
SetupProjectEntity
setupProjectEntity
,
Context
context
);
...
...
setup-project-manager/src/main/java/com/mortals/xhx/module/setup/service/impl/SetupProjectServiceImpl.java
View file @
6b31dc60
...
...
@@ -21,6 +21,7 @@ import com.mortals.xhx.common.code.YesNoEnum;
import
com.mortals.xhx.common.utils.ZipUtils
;
import
com.mortals.xhx.module.setup.mode.DbSetupEntity
;
import
com.mortals.xhx.module.setup.mode.SiteEntity
;
import
com.mortals.xhx.module.setup.model.SetupProjectQuery
;
import
com.mortals.xhx.module.setup.service.SetupDbService
;
import
org.apache.commons.compress.compressors.CompressorInputStream
;
import
org.codehaus.plexus.archiver.tar.TarGZipUnArchiver
;
...
...
@@ -194,6 +195,8 @@ public class SetupProjectServiceImpl extends AbstractCRUDServiceImpl<SetupProjec
throw
new
AppException
(
"请上传项目工程资源文件!"
);
}
setupProjectEntity
.
setProjectStatus
(
ProjectStatusEnum
.
已部署
.
getValue
());
this
.
update
(
setupProjectEntity
);
}
else
if
(
ProjectTypeEnum
.
资源
.
getValue
()
==
setupProjectEntity
.
getProjectType
())
{
//TODO: 资源逻辑
...
...
@@ -206,6 +209,83 @@ public class SetupProjectServiceImpl extends AbstractCRUDServiceImpl<SetupProjec
return
Rest
.
ok
();
}
@Override
public
Rest
<
String
>
distributeInit
(
SetupProjectEntity
setupProjectEntity
,
Context
context
)
{
//1检测文件是否已经上传
String
projectPath
=
this
.
publishPath
+
"/temp/project/"
;
boolean
exist
=
FileUtil
.
exist
(
projectPath
);
if
(!
exist
)
throw
new
AppException
(
"请先上传项目工程文件!"
);
//2.部署并启动项目 包括网关,基础服务,门户服务,设备管理系统,前端,后端资源等等
buildGateWay
(
context
);
buildBaseManager
(
context
);
buildBaseManagerUi
(
context
);
buildPortalManager
(
context
);
buildPortalManagerUi
(
context
);
buildDeviceManager
(
context
);
buildDeviceManagerUi
(
context
);
buildLogManager
(
context
);
buildLogManagerUi
(
context
);
return
Rest
.
ok
();
}
private
void
buildGateWay
(
Context
context
)
{
log
.
info
(
"开始部署网关服务"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
网关服务
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
private
void
buildBaseManager
(
Context
context
)
{
log
.
info
(
"开始部署基础服务"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
基础服务
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
private
void
buildBaseManagerUi
(
Context
context
)
{
log
.
info
(
"开始部署基础服务前端"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
基础服务前端
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
private
void
buildPortalManager
(
Context
context
)
{
log
.
info
(
"开始部署门户服务"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
门户服务
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
private
void
buildPortalManagerUi
(
Context
context
)
{
log
.
info
(
"开始部署门户服务前端"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
门户服务前端
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
private
void
buildDeviceManager
(
Context
context
)
{
log
.
info
(
"开始部署设备管理服务"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
设备管理服务
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
private
void
buildDeviceManagerUi
(
Context
context
)
{
log
.
info
(
"开始部署设备管理服务前端"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
设备管理服务前端
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
private
void
buildLogManager
(
Context
context
)
{
log
.
info
(
"开始部署设备管理服务"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
设备管理服务
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
private
void
buildLogManagerUi
(
Context
context
)
{
log
.
info
(
"开始部署设备管理服务前端"
);
SetupProjectEntity
setupProject
=
this
.
selectOne
(
new
SetupProjectQuery
().
projectCode
(
ProductDisEnum
.
设备管理服务前端
.
getValue
()));
this
.
distribute
(
setupProject
,
context
);
}
@Override
public
Rest
<
String
>
appDeploy
(
SetupProjectEntity
setupProjectEntity
,
Context
context
)
{
...
...
setup-project-manager/src/main/java/com/mortals/xhx/module/setup/web/SetupProjectController.java
View file @
6b31dc60
package
com.mortals.xhx.module.setup.web
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.http.HttpUtil
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -10,6 +11,7 @@ import com.mortals.framework.exception.AppException;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.OrderCol
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.common.code.ProductDisEnum
;
import
com.mortals.xhx.common.code.ProjectStatusEnum
;
import
com.mortals.xhx.common.code.ProjectTypeEnum
;
import
com.mortals.xhx.common.code.YesNoEnum
;
...
...
@@ -17,6 +19,7 @@ import com.mortals.xhx.module.setup.mode.DbSetupEntity;
import
com.mortals.xhx.module.setup.mode.ProjectSetupEntity
;
import
com.mortals.xhx.module.setup.mode.SiteEntity
;
import
com.mortals.xhx.module.setup.model.SetupProjectEntity
;
import
com.mortals.xhx.module.setup.model.SetupProjectQuery
;
import
com.mortals.xhx.module.setup.service.SetupDbService
;
import
com.mortals.xhx.module.setup.service.SetupProjectService
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -96,6 +99,26 @@ public class SetupProjectController extends BaseCRUDJsonBodyMappingController<Se
}
/**
* 部署
*/
@ApiOperation
(
value
=
"项目初始部署"
,
notes
=
"部署"
)
@PostMapping
(
value
=
"init"
)
public
Rest
<
Void
>
init
(
@RequestBody
SetupProjectEntity
setupProjectEntity
)
{
String
busiDesc
=
this
.
getModuleDesc
()
+
"设备模块部署"
;
Rest
<
Void
>
rest
=
Rest
.
ok
(
busiDesc
+
" 【成功】"
);
try
{
this
.
service
.
distributeInit
(
setupProjectEntity
,
getContext
());
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"项目部署"
,
e
);
rest
=
Rest
.
fail
(
super
.
convertException
(
e
));
}
return
rest
;
}
@PostMapping
(
"/dbConnect"
)
@UnAuth
public
String
connect
(
@RequestBody
SetupProjectEntity
setupProjectEntity
)
{
...
...
@@ -371,6 +394,34 @@ public class SetupProjectController extends BaseCRUDJsonBodyMappingController<Se
}
/**
* 检测是否初始安装,是否已经安装了base-manager,如果没有则进入引导界面进行安装
*
* @return
*/
@GetMapping
(
"/check"
)
@UnAuth
public
Rest
<
Boolean
>
check
()
{
Boolean
bool
=
false
;
try
{
//todo 检测是否初始安装,是否已经安装了base-manager,如果没有则进入引导界面进行安装
SetupProjectQuery
setupProjectQuery
=
new
SetupProjectQuery
();
setupProjectQuery
.
setProjectCode
(
ProductDisEnum
.
基础服务
.
getValue
());
SetupProjectEntity
setupProjectEntity
=
this
.
service
.
selectOne
(
setupProjectQuery
);
if
(
ObjectUtils
.
isEmpty
(
setupProjectEntity
))
throw
new
AppException
(
"基础服务不存在"
);
if
(
setupProjectEntity
.
getProjectStatus
()>
ProjectStatusEnum
.
未部署
.
getValue
()){
bool
=
true
;
return
Rest
.
ok
(
"项目工程已部署"
,
bool
);
}
return
Rest
.
ok
(
"项目工程未部署,进入引导界面"
,
bool
);
}
catch
(
Exception
e
)
{
log
.
error
(
"检测异常"
,
e
);
return
Rest
.
fail
(
e
.
getMessage
());
}
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
FileUtil
.
isDirectory
(
"E://pic"
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment