Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
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
赵啸非
smart_gov_platform
Commits
c0820c37
Commit
c0820c37
authored
Jan 06, 2023
by
“yiyousong”
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.scsmile.cn/zxf/smart_gov_platform
parents
18fd1882
38d17586
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
202 additions
and
47 deletions
+202
-47
base-manager/doc/api.md
base-manager/doc/api.md
+90
-0
base-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java
...hx/base/system/upload/service/impl/UploadServiceImpl.java
+1
-0
base-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
...ls/xhx/base/system/user/service/impl/UserServiceImpl.java
+6
-6
base-manager/src/main/java/com/mortals/xhx/common/utils/ZipUtils.java
.../src/main/java/com/mortals/xhx/common/utils/ZipUtils.java
+3
-0
base-manager/src/main/java/com/mortals/xhx/module/app/service/AppService.java
...n/java/com/mortals/xhx/module/app/service/AppService.java
+2
-0
base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
...m/mortals/xhx/module/app/service/impl/AppServiceImpl.java
+32
-7
base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppVersionServiceImpl.java
...ls/xhx/module/app/service/impl/AppVersionServiceImpl.java
+3
-1
base-manager/src/main/java/com/mortals/xhx/module/app/web/AppController.java
...in/java/com/mortals/xhx/module/app/web/AppController.java
+26
-16
deploy.sh
deploy.sh
+39
-16
pom.xml
pom.xml
+0
-1
No files found.
base-manager/doc/api.md
View file @
c0820c37
...
...
@@ -9383,6 +9383,96 @@ msg|String|消息|-
```
### 自助终端应用部署
**请求URL:**
app/appDistribute
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
应用部署
**请求参数:**
参数名称| 类型 | 必填 |描述
:---|:------|:----|:-------
id|Long|否|应用Id
**请求样例:**
```
{
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
**响应消息样例:**
```
{
"msg":"应用部署成功",
"code":1,
"data":{}
}
}
```
### 自助终端基础应用部署
**请求URL:**
app/appCommonDistribute
**请求方式:**
POST
**内容类型:**
application/json;charset=utf-8
**简要描述:**
基础应用部署
**请求参数:**
参数名称| 类型 | 必填 |描述
:---|:------|:----|:-------
filePath|String|是|文件相对路径地址
**请求样例:**
```
{
}
```
**响应参数:**
参数名称 |参数类型|描述
:---|:---|:------
code|Integer|结果码(-1.失败,1.成功)
msg|String|消息
data|object|数据对象
**响应消息样例:**
```
{
"msg":"应用部署成功",
"code":1,
"data":{}
}
}
```
### 自助终端应用克隆
...
...
base-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java
View file @
c0820c37
...
...
@@ -7,6 +7,7 @@ import com.mortals.framework.service.IUser;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.common.code.UploadFileType
;
import
com.mortals.xhx.utils.SpringUtils
;
import
lombok.Getter
;
import
org.apache.commons.io.FilenameUtils
;
import
org.apache.commons.logging.Log
;
...
...
base-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
View file @
c0820c37
...
...
@@ -297,9 +297,9 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
@Override
public
void
updateUserList
(
List
<
UserPdu
>
list
)
{
//更新本地用户信息,并且更新用户站点树
list
.
forEach
(
user
->
{
UserEntity
tempUser
Entity
=
this
.
selectOne
(
new
UserQuery
().
loginName
(
user
.
getLoginName
()));
if
(
ObjectUtils
.
isEmpty
(
tempUser
Entity
))
{
for
(
UserPdu
user
:
list
)
{
UserEntity
tempUser
=
this
.
selectOne
(
new
UserQuery
().
loginName
(
user
.
getLoginName
()));
if
(
ObjectUtils
.
isEmpty
(
tempUser
))
{
//新增
UserEntity
entity
=
new
UserEntity
();
entity
.
initAttrValue
();
...
...
@@ -307,18 +307,18 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
this
.
save
(
entity
);
Context
context
=
new
Context
();
context
.
setUser
(
entity
);
ThreadPool
.
getInstance
().
execute
(
new
SyncTreeSiteThread
(
context
));
}
else
{
//更新
UserEntity
userEntity
=
new
UserEntity
();
BeanUtils
.
copyProperties
(
user
,
userEntity
,
new
String
[]{
"loginPwd"
,
"userType"
,
"status"
,
"lastLoginTime"
,
"lastLoginAddress"
});
BeanUtils
.
copyProperties
(
user
,
userEntity
,
new
String
[]{
"loginPwd"
,
"loginName"
,
"userType"
,
"status"
,
"lastLoginTime"
,
"lastLoginAddress"
});
userEntity
.
setId
(
tempUser
.
getId
());
this
.
updateWidthDao
(
userEntity
);
Context
context
=
new
Context
();
context
.
setUser
(
userEntity
);
ThreadPool
.
getInstance
().
execute
(
new
SyncTreeSiteThread
(
context
));
}
}
);
}
}
...
...
base-manager/src/main/java/com/mortals/xhx/common/utils/ZipUtils.java
View file @
c0820c37
...
...
@@ -3,6 +3,7 @@ package com.mortals.xhx.common.utils;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.compress.archivers.zip.ZipArchiveEntry
;
import
org.apache.commons.compress.archivers.zip.ZipArchiveInputStream
;
import
org.apache.commons.compress.archivers.zip.ZipUtil
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.io.IOUtils
;
...
...
@@ -12,6 +13,8 @@ import java.io.*;
public
class
ZipUtils
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
unzip
(
new
File
(
"F:\\1664176173348.zip"
),
"F:\\tmp"
);
// String path = "F:\\Users\\Isuzu\\Desktop\\test.zip";
// unzip(new File(path), "D:\\data");
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/app/service/AppService.java
View file @
c0820c37
...
...
@@ -22,6 +22,8 @@ public interface AppService extends ICRUDService<AppEntity, Long> {
Rest
<
String
>
appDistribute
(
AppEntity
appEntity
,
Context
context
);
Rest
<
Void
>
appCommonDistribute
(
AppEntity
appEntity
,
Context
context
);
Rest
<
String
>
cloneAppsBySites
(
List
<
AppEntity
>
appList
,
List
<
SiteEntity
>
siteList
,
Context
context
);
...
...
base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppServiceImpl.java
View file @
c0820c37
...
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.module.app.service.impl;
import
cn.hutool.core.util.NumberUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.ZipUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.google.common.collect.Lists
;
import
com.mortals.framework.model.DbMatchMode
;
...
...
@@ -62,16 +63,16 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
@Override
protected
void
findAfter
(
AppEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
AppEntity
>
list
)
throws
AppException
{
//排序
if
(!
ObjectUtils
.
isEmpty
(
params
.
getIdList
()))
{
if
(!
ObjectUtils
.
isEmpty
(
params
.
getIdList
()))
{
//根据idList进行排序
for
(
int
i
=
0
;
i
<
params
.
getIdList
().
size
();
i
++)
{
Long
id
=
params
.
getIdList
().
get
(
i
);
for
(
int
j
=
0
;
j
<
list
.
size
();
j
++)
{
if
(
id
.
equals
(
list
.
get
(
j
).
getId
()))
{
if
(
id
.
equals
(
list
.
get
(
j
).
getId
()))
{
//判断位置是否一直
if
(
i
!=
j
)
{
if
(
i
!=
j
)
{
//交换
Collections
.
swap
(
list
,
i
,
j
);
Collections
.
swap
(
list
,
i
,
j
);
}
}
}
...
...
@@ -109,8 +110,8 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
if
(
FileUtil
.
isDirectory
(
disPath
))
{
FileUtil
.
del
(
disPath
);
}
ZipUtils
.
unzip
(
new
File
(
targetFilePath
),
disPath
);
//
ZipUtil.unzip(targetFilePath, disPath);
//
ZipUtils.unzip(new File(targetFilePath), disPath);
ZipUtil
.
unzip
(
targetFilePath
,
disPath
);
//更新
appEntity
.
setDistributeFilePath
(
disPath
);
appEntity
.
setDistribute
(
YesNoEnum
.
YES
.
getValue
());
...
...
@@ -119,6 +120,30 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
return
Rest
.
ok
(
"应用部署成功!"
);
}
@Override
public
Rest
<
Void
>
appCommonDistribute
(
AppEntity
appEntity
,
Context
context
)
{
//判断文件是否存在
String
targetFilePath
=
uploadService
.
getFilePath
(
appEntity
.
getFilePath
());
if
(
FileUtil
.
isEmpty
(
new
File
(
targetFilePath
)))
{
throw
new
AppException
(
"部署文件不存在!"
);
}
if
(!
FileUtil
.
getSuffix
(
appEntity
.
getFilePath
()).
equals
(
"zip"
))
{
throw
new
AppException
(
"部署只支持zip文件!"
);
}
//部署路径是否存在 如果不存在 创建目录,
//文件构成目录 /home/publish/app/common
String
disPath
=
"/home/publish/app/common"
;
//判断目标目录是否存在 如果存在 这删除
if
(
FileUtil
.
isDirectory
(
disPath
))
{
FileUtil
.
del
(
disPath
);
}
// ZipUtils.unzip(new File(targetFilePath), disPath);
ZipUtil
.
unzip
(
targetFilePath
,
disPath
);
return
Rest
.
ok
(
"基础应用部署成功!"
);
}
@Override
public
Rest
<
String
>
cloneAppsBySites
(
List
<
AppEntity
>
appList
,
List
<
SiteEntity
>
siteList
,
Context
context
)
{
log
.
info
(
"克隆应用开始!"
);
...
...
@@ -319,6 +344,6 @@ public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, L
}
public
static
void
main
(
String
[]
args
)
{
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/app/service/impl/AppVersionServiceImpl.java
View file @
c0820c37
package
com.mortals.xhx.module.app.service.impl
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.ZipUtil
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.Context
;
...
...
@@ -70,7 +71,8 @@ public class AppVersionServiceImpl extends AbstractCRUDServiceImpl<AppVersionDao
if
(
FileUtil
.
isDirectory
(
disPath
))
{
FileUtil
.
del
(
disPath
);
}
ZipUtils
.
unzip
(
new
File
(
targetFilePath
),
disPath
);
// ZipUtils.unzip(new File(targetFilePath), disPath);
ZipUtil
.
unzip
(
targetFilePath
,
disPath
);
return
disPath
;
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/app/web/AppController.java
View file @
c0820c37
package
com.mortals.xhx.module.app.web
;
import
cn.hutool.core.net.url.UrlBuilder
;
import
cn.hutool.core.util.ZipUtil
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
...
...
@@ -57,8 +58,6 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
}
@Override
protected
int
infoAfter
(
Long
id
,
Map
<
String
,
Object
>
model
,
AppEntity
entity
,
Context
context
)
throws
AppException
{
List
<
AppEntity
>
appEntityList
=
this
.
service
.
find
(
new
AppQuery
().
appCode
(
entity
.
getAppCode
()),
context
);
...
...
@@ -67,22 +66,13 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
return
super
.
infoAfter
(
id
,
model
,
entity
,
context
);
}
@Override
protected
int
doListAfter
(
AppEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
//model.get("result")
return
super
.
doListAfter
(
query
,
model
,
context
);
}
/**
* app应用部署
*/
@PostMapping
(
value
=
"appDistribute"
)
public
Rest
<
Void
>
appDistribute
(
@RequestBody
AppEntity
appEntity
)
{
public
Rest
<
String
>
appDistribute
(
@RequestBody
AppEntity
appEntity
)
{
String
busiDesc
=
this
.
getModuleDesc
()
+
"自助服务应用部署"
;
Rest
<
Void
>
rest
=
Rest
.
ok
(
busiDesc
+
" 【成功】"
);
Rest
<
String
>
rest
=
Rest
.
ok
(
busiDesc
+
" 【成功】"
);
try
{
if
(
ObjectUtils
.
isEmpty
(
appEntity
.
getId
()))
{
throw
new
AppException
(
"应用Id不能为空!"
);
...
...
@@ -91,7 +81,7 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
if
(
ObjectUtils
.
isEmpty
(
appEntity
))
{
throw
new
AppException
(
"当前应用不存在!appId:"
+
appEntity
.
getId
());
}
Rest
<
String
>
disR
est
=
this
.
service
.
appDistribute
(
appEntity
,
getContext
());
r
est
=
this
.
service
.
appDistribute
(
appEntity
,
getContext
());
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"自助服务应用部署"
,
e
);
...
...
@@ -100,6 +90,23 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
return
rest
;
}
/**
* app基础应用部署
*/
@PostMapping
(
value
=
"appCommonDistribute"
)
public
Rest
<
Void
>
appCommonDistribute
(
@RequestBody
AppEntity
appEntity
)
{
String
busiDesc
=
this
.
getModuleDesc
()
+
"自助服务应用部署"
;
Rest
<
Void
>
rest
=
Rest
.
ok
(
busiDesc
+
" 【成功】"
);
try
{
rest
=
this
.
service
.
appCommonDistribute
(
appEntity
,
getContext
());
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"基础服务应用部署"
,
e
);
rest
=
Rest
.
fail
(
super
.
convertException
(
e
));
}
return
rest
;
}
/**
* app应用克隆给其它站点
...
...
@@ -130,10 +137,13 @@ public class AppController extends BaseCRUDJsonBodyMappingController<AppService,
public
static
void
main
(
String
[]
args
)
{
String
homeUrl
=
"app/1/2"
;
/*
String homeUrl = "app/1/2";
String domainUrl = "http://192.168.0.98:11078";
String s = UrlBuilder.of(domainUrl).addPath("app").addPath("1").addPath("2").toString();
System
.
out
.
println
(
s
);
System.out.println(s);*/
ZipUtil
.
unzip
(
"F://1672973316144.zip"
,
"E://abc"
);
}
...
...
deploy.sh
View file @
c0820c37
...
...
@@ -148,8 +148,8 @@ setup_java() {
#yum -y remove tzdata-java.noarch
else
writelog
"ubuntu java clear"
apt-get
purge openjdk
*
apt-get
purge icedtea-
*
openjdk-
*
#apt-get -y
purge openjdk*
#apt-get -y
purge icedtea-* openjdk-*
fi
rm
-rf
${
JAVA_HOME
}
mkdir
-p
${
JAVA_HOME
}
...
...
@@ -224,7 +224,18 @@ setup_mysql() {
mkdir
-p
${
MYSQL_EXECPATH
}
/mysql-files
groupadd mysql
useradd
-r
-g
mysql mysql
system_version
=
$(
unix_is_centos
)
if
[[
${
system_version
}
==
"centos"
]]
;
then
writelog
"centos"
yum
-y
install
libncurses
*
# yum -y remove java-*-openjdk* #卸载centos中的openjdk
#yum -y remove tzdata-java.noarch
else
writelog
"ubuntu"
apt
-y
install
libncurses
*
#apt-get purge openjdk*
#apt-get purge icedtea-* openjdk-*
fi
writelog
"exccmd tar -zvxf
${
BASEDIR
}
/soft/
${
MYSQL
}
/
${
MYSQL_CENTOS_FILENAME
}
-C
${
MYSQL_EXECPATH
}
--strip-components 1"
tar
-zvxf
${
BASEDIR
}
/soft/
${
MYSQL
}
/
${
MYSQL_CENTOS_FILENAME
}
-C
${
MYSQL_EXECPATH
}
--strip-components
1
cd
${
MYSQL_EXECPATH
}
...
...
@@ -232,19 +243,30 @@ setup_mysql() {
chmod
750 mysql-file
echo
"[mysqld]
datadir=
${
MYSQL_DATA_PATH
}
port =
${
MYSQL_PORT
}
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=1
#忽略密码
skip-grant-tables
datadir=
${
MYSQL_DATA_PATH
}
socket=/tmp/mysql.sock
port =
${
MYSQL_PORT
}
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名存储在磁盘是小写的,但是比较的时候是不区分大小写
lower_case_table_names=1
#忽略密码
skip-grant-tables
[client]
default-character-set=utf8
socket=/tmp/mysql.sock
[mysql]
default-character-set=utf8
socket=/tmp/mysql.sock
"
>
${
MYSQL_CONF_PATH
}
#初始化
bin/mysqld
--initialize
--user
=
mysql
--datadir
=
${
MYSQL_DATA_PATH
}
--basedir
=
${
MYSQL_EXECPATH
}
writelog
"mysql init cmd: bin/mysqld --initialize --user=mysql --datadir=
${
MYSQL_DATA_PATH
}
--basedir=
${
MYSQL_EXECPATH
}
--socket=/tmp/mysql.sock"
bin/mysqld
--initialize
--user
=
mysql
--datadir
=
${
MYSQL_DATA_PATH
}
--basedir
=
${
MYSQL_EXECPATH
}
--socket
=
/tmp/mysql.sock
#bin/mysqld --initialize-insecure --user=mysql --datadir=${MYSQL_DATA_PATH} --basedir=${MYSQL_EXECPATH} --socket=/tmp/mysql.sock
#创建软连接
ln
-s
${
MYSQL_EXECPATH
}
/support-files/mysql.server /etc/init.d/mysql
...
...
@@ -252,7 +274,7 @@ setup_mysql() {
export
PATH
=
$PATH
:
${
MYSQL_EXECPATH
}
/bin
source
/etc/profile
service mysql restart
mysql
-uroot
-p
123
<
${
BASEDIR
}
/soft/
${
MYSQL
}
/user.sql
mysql
-uroot
-p
<
${
BASEDIR
}
/soft/
${
MYSQL
}
/user.sql
sed
-i
"s/skip-grant-tables/#skip-grant-tables/g"
${
MYSQL_CONF_PATH
}
service mysql restart
...
...
@@ -304,7 +326,7 @@ setup_nginx() {
else
writelog
"ubuntu nginx clear"
apt-get purge nginx
*
apt-get
-y
install
pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
apt-get
-y
install
build-essential openssl libssl-dev libpcre3 libpcre3-dev zlib1g zlib1g-dev
fi
rm
-rf
${
NGINX_EXECPATH
}
...
...
@@ -313,6 +335,7 @@ setup_nginx() {
tar
-zvxf
${
BASEDIR
}
/soft/
${
NGINX
}
/
${
NGINX_FILENAME
}
-C
${
NGINX_EXECPATH
}
--strip-components
1
cd
${
NGINX_EXECPATH
}
#./configure --prefix=${NGINX_EXECPATH} --conf-path=${NGINX_CONF} --with-pcre=/home/pcre-8.45
./configure
--prefix
=
${
NGINX_EXECPATH
}
--conf-path
=
${
NGINX_CONF
}
writelog
"nginx make start"
make
...
...
pom.xml
View file @
c0820c37
...
...
@@ -38,7 +38,6 @@
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-redis
</artifactId>
...
...
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