Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzwf
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzwf
提交
00a0c75d
提交
00a0c75d
编写于
5月 11, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibizdev提交
上级
55d5fddd
变更
33
隐藏空白字符变更
内嵌
并排
正在显示
33 个修改的文件
包含
284 行增加
和
129 行删除
+284
-129
index.ts
app_web/src/store/index.ts
+3
-1
actions.ts
app_web/src/store/modules/unified-resource/actions.ts
+14
-0
getters.ts
app_web/src/store/modules/unified-resource/getters.ts
+20
-0
index.ts
app_web/src/store/modules/unified-resource/index.ts
+16
-0
mutations.ts
app_web/src/store/modules/unified-resource/mutations.ts
+22
-0
state.ts
app_web/src/store/modules/unified-resource/state.ts
+9
-0
auth-guard.ts
app_web/src/utils/auth-guard/auth-guard.ts
+2
-0
wfindex-view-appmenu-base.vue
...ts/app/wfindex-view-appmenu/wfindex-view-appmenu-base.vue
+33
-1
WFGroupMapper.java
...n/java/cn/ibizlab/core/workflow/mapper/WFGroupMapper.java
+5
-4
WFMemberMapper.java
.../java/cn/ibizlab/core/workflow/mapper/WFMemberMapper.java
+5
-4
WFProcessDefinitionMapper.java
...izlab/core/workflow/mapper/WFProcessDefinitionMapper.java
+5
-4
WFSystemMapper.java
.../java/cn/ibizlab/core/workflow/mapper/WFSystemMapper.java
+5
-4
WFUserMapper.java
...in/java/cn/ibizlab/core/workflow/mapper/WFUserMapper.java
+5
-4
IWFGroupService.java
...ava/cn/ibizlab/core/workflow/service/IWFGroupService.java
+14
-5
IWFMemberService.java
...va/cn/ibizlab/core/workflow/service/IWFMemberService.java
+14
-7
IWFProcessDefinitionService.java
...ab/core/workflow/service/IWFProcessDefinitionService.java
+14
-5
IWFProcessInstanceService.java
...zlab/core/workflow/service/IWFProcessInstanceService.java
+0
-2
IWFProcessNodeService.java
.../ibizlab/core/workflow/service/IWFProcessNodeService.java
+0
-2
IWFREModelService.java
...a/cn/ibizlab/core/workflow/service/IWFREModelService.java
+0
-2
IWFSystemService.java
...va/cn/ibizlab/core/workflow/service/IWFSystemService.java
+14
-5
IWFTaskService.java
...java/cn/ibizlab/core/workflow/service/IWFTaskService.java
+0
-2
IWFTaskWayService.java
...a/cn/ibizlab/core/workflow/service/IWFTaskWayService.java
+0
-2
IWFUserService.java
...java/cn/ibizlab/core/workflow/service/IWFUserService.java
+14
-5
WFGroupServiceImpl.java
...bizlab/core/workflow/service/impl/WFGroupServiceImpl.java
+9
-13
WFMemberServiceImpl.java
...izlab/core/workflow/service/impl/WFMemberServiceImpl.java
+29
-13
WFProcessDefinitionServiceImpl.java
...workflow/service/impl/WFProcessDefinitionServiceImpl.java
+9
-13
WFProcessInstanceServiceImpl.java
...e/workflow/service/impl/WFProcessInstanceServiceImpl.java
+1
-1
WFProcessNodeServiceImpl.java
.../core/workflow/service/impl/WFProcessNodeServiceImpl.java
+1
-1
WFSystemServiceImpl.java
...izlab/core/workflow/service/impl/WFSystemServiceImpl.java
+9
-13
WFTaskServiceImpl.java
...ibizlab/core/workflow/service/impl/WFTaskServiceImpl.java
+1
-1
WFTaskWayServiceImpl.java
...zlab/core/workflow/service/impl/WFTaskWayServiceImpl.java
+1
-1
WFUserServiceImpl.java
...ibizlab/core/workflow/service/impl/WFUserServiceImpl.java
+9
-13
PermissionSyncJob.java
.../src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
+1
-1
未找到文件。
app_web/src/store/index.ts
浏览文件 @
00a0c75d
...
...
@@ -7,6 +7,7 @@ import * as mutations from './mutations';
import
*
as
getters
from
'./getters'
;
import
viewaction
from
'./modules/view-action'
import
unifiedresource
from
'./modules/unified-resource'
const
state
=
{
...
rootstate
...
...
@@ -20,7 +21,8 @@ const store = new Vuex.Store({
mutations
,
getters
,
modules
:
{
viewaction
viewaction
,
unifiedresource
},
});
...
...
app_web/src/store/modules/unified-resource/actions.ts
0 → 100644
浏览文件 @
00a0c75d
/**
* 提交统一资源数据
*
* @param param0
* @param data
*/
export
const
commitResourceData
=
({
commit
,
state
}:
{
commit
:
any
,
state
:
any
},
{
unires
,
enablepermissionvalid
}:
{
unires
:
Array
<
any
>
,
enablepermissionvalid
:
boolean
})
=>
{
if
(
unires
&&
unires
.
length
>
0
){
commit
(
'setResourceData'
,
unires
);
}
if
(
enablepermissionvalid
){
commit
(
'setEnablePermissionValid'
,
enablepermissionvalid
);
}
}
\ No newline at end of file
app_web/src/store/modules/unified-resource/getters.ts
0 → 100644
浏览文件 @
00a0c75d
/**
* 判断指定统一资源是否存在
*
* @param state
*/
export
const
getResourceData
=
(
state
:
any
)
=>
(
resourcetag
:
string
)
=>
{
let
itemIndex
:
any
=
state
.
resourceData
.
findIndex
((
obj
:
any
,
objIndex
:
any
,
objs
:
any
)
=>
{
return
Object
.
is
(
obj
.
unirescode
,
resourcetag
);
})
return
itemIndex
===
-
1
?
false
:
true
;
}
/**
* 获取是否开启权限认证
*
* @param state
*/
export
const
getEnablePermissionValid
=
(
state
:
any
)
=>
{
return
state
.
enablePermissionValid
;
}
\ No newline at end of file
app_web/src/store/modules/unified-resource/index.ts
0 → 100644
浏览文件 @
00a0c75d
import
{
resourcestate
}
from
'./state'
;
import
*
as
actions
from
'./actions'
;
import
*
as
mutations
from
'./mutations'
;
import
*
as
getters
from
'./getters'
;
const
state
=
{
...
resourcestate
}
export
default
{
namespaced
:
true
,
state
,
getters
,
actions
,
mutations
}
\ No newline at end of file
app_web/src/store/modules/unified-resource/mutations.ts
0 → 100644
浏览文件 @
00a0c75d
/**
* 设置统一资源数据
*
* @param state
* @param resourceArray
*/
export
const
setResourceData
=
(
state
:
any
,
resourceArray
:
Array
<
any
>
)
=>
{
if
(
resourceArray
&&
resourceArray
.
length
===
0
){
return
;
}
state
.
resourceData
=
resourceArray
;
}
/**
* 设置是否开启权限认证
*
* @param state
* @param resourceArray
*/
export
const
setEnablePermissionValid
=
(
state
:
any
,
enablepermissionvalid
:
boolean
)
=>
{
state
.
enablePermissionValid
=
enablepermissionvalid
;
}
app_web/src/store/modules/unified-resource/state.ts
0 → 100644
浏览文件 @
00a0c75d
/**
* 所有资源状态
*/
export
const
resourcestate
:
any
=
{
// 统一资源数据
resourceData
:
[],
// 是否开启权限认证
enablePermissionValid
:
false
}
\ No newline at end of file
app_web/src/utils/auth-guard/auth-guard.ts
浏览文件 @
00a0c75d
...
...
@@ -56,6 +56,8 @@ export class AuthGuard {
const
{
data
}:
{
data
:
any
}
=
response
;
if
(
data
)
{
router
.
app
.
$store
.
commit
(
'addAppData'
,
data
);
// 提交统一资源数据
router
.
app
.
$store
.
dispatch
(
'unifiedresource/commitResourceData'
,
data
);
}
}
resolve
(
true
);
...
...
app_web/src/widgets/app/wfindex-view-appmenu/wfindex-view-appmenu-base.vue
浏览文件 @
00a0c75d
...
...
@@ -449,7 +449,9 @@ export default class WFIndexViewBase extends Vue implements ControlInterface {
if
(
Object
.
keys
(
item
).
length
===
0
)
{
return
;
}
this
.
click
(
item
);
if
(
!
item
.
hidden
){
this
.
click
(
item
);
}
}
/**
...
...
@@ -633,11 +635,41 @@ export default class WFIndexViewBase extends Vue implements ControlInterface {
* @memberof WFIndexView
*/
public
load
(
data
:
any
)
{
this
.
handleMenusResource
(
this
.
menuMode
.
getAppMenuItems
());
}
/**
* 通过统一资源标识计算菜单
*
* @param {*} data
* @memberof WFIndexView
*/
public
handleMenusResource
(
inputMenus
:
Array
<
any
>
){
if
(
this
.
$store
.
getters
[
'unifiedresource/getEnablePermissionValid'
]){
this
.
computedEffectiveMenus
(
inputMenus
);
}
this
.
dataProcess
(
this
.
menuMode
.
getAppMenuItems
());
this
.
menus
=
this
.
menuMode
.
getAppMenuItems
();
this
.
doMenuSelect
();
}
/**
* 计算有效菜单项
*
* @param {*} data
* @memberof WFIndexView
*/
public
computedEffectiveMenus
(
inputMenus
:
Array
<
any
>
){
inputMenus
.
forEach
((
_item
:
any
)
=>
{
if
(
_item
.
resourcetag
&&
!
this
.
$store
.
getters
[
'unifiedresource/getResourceData'
](
_item
.
resourcetag
)){
_item
.
hidden
=
true
;
if
(
_item
.
items
&&
_item
.
items
.
length
>
0
)
{
this
.
computedEffectiveMenus
(
_item
.
items
);
}
}
})
}
/**
* 数据处理
*
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFGroupMapper.java
浏览文件 @
00a0c75d
...
...
@@ -2,6 +2,7 @@ package cn.ibizlab.core.workflow.mapper;
import
java.util.List
;
import
org.apache.ibatis.annotations.*
;
import
java.util.Map
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -33,7 +34,7 @@ public interface WFGroupMapper extends BaseMapper<WFGroup>{
* @return
*/
@Select
(
"${sql}"
)
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
);
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义更新SQL
...
...
@@ -41,7 +42,7 @@ public interface WFGroupMapper extends BaseMapper<WFGroup>{
* @return
*/
@Update
(
"${sql}"
)
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义插入SQL
...
...
@@ -49,7 +50,7 @@ public interface WFGroupMapper extends BaseMapper<WFGroup>{
* @return
*/
@Insert
(
"${sql}"
)
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义删除SQL
...
...
@@ -57,6 +58,6 @@ public interface WFGroupMapper extends BaseMapper<WFGroup>{
* @return
*/
@Delete
(
"${sql}"
)
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFMemberMapper.java
浏览文件 @
00a0c75d
...
...
@@ -2,6 +2,7 @@ package cn.ibizlab.core.workflow.mapper;
import
java.util.List
;
import
org.apache.ibatis.annotations.*
;
import
java.util.Map
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -33,7 +34,7 @@ public interface WFMemberMapper extends BaseMapper<WFMember>{
* @return
*/
@Select
(
"${sql}"
)
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
);
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义更新SQL
...
...
@@ -41,7 +42,7 @@ public interface WFMemberMapper extends BaseMapper<WFMember>{
* @return
*/
@Update
(
"${sql}"
)
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义插入SQL
...
...
@@ -49,7 +50,7 @@ public interface WFMemberMapper extends BaseMapper<WFMember>{
* @return
*/
@Insert
(
"${sql}"
)
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义删除SQL
...
...
@@ -57,7 +58,7 @@ public interface WFMemberMapper extends BaseMapper<WFMember>{
* @return
*/
@Delete
(
"${sql}"
)
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
List
<
WFMember
>
selectByGroupid
(
@Param
(
"id"
)
Serializable
id
)
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFProcessDefinitionMapper.java
浏览文件 @
00a0c75d
...
...
@@ -2,6 +2,7 @@ package cn.ibizlab.core.workflow.mapper;
import
java.util.List
;
import
org.apache.ibatis.annotations.*
;
import
java.util.Map
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -33,7 +34,7 @@ public interface WFProcessDefinitionMapper extends BaseMapper<WFProcessDefinitio
* @return
*/
@Select
(
"${sql}"
)
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
);
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义更新SQL
...
...
@@ -41,7 +42,7 @@ public interface WFProcessDefinitionMapper extends BaseMapper<WFProcessDefinitio
* @return
*/
@Update
(
"${sql}"
)
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义插入SQL
...
...
@@ -49,7 +50,7 @@ public interface WFProcessDefinitionMapper extends BaseMapper<WFProcessDefinitio
* @return
*/
@Insert
(
"${sql}"
)
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义删除SQL
...
...
@@ -57,6 +58,6 @@ public interface WFProcessDefinitionMapper extends BaseMapper<WFProcessDefinitio
* @return
*/
@Delete
(
"${sql}"
)
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFSystemMapper.java
浏览文件 @
00a0c75d
...
...
@@ -2,6 +2,7 @@ package cn.ibizlab.core.workflow.mapper;
import
java.util.List
;
import
org.apache.ibatis.annotations.*
;
import
java.util.Map
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -33,7 +34,7 @@ public interface WFSystemMapper extends BaseMapper<WFSystem>{
* @return
*/
@Select
(
"${sql}"
)
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
);
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义更新SQL
...
...
@@ -41,7 +42,7 @@ public interface WFSystemMapper extends BaseMapper<WFSystem>{
* @return
*/
@Update
(
"${sql}"
)
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义插入SQL
...
...
@@ -49,7 +50,7 @@ public interface WFSystemMapper extends BaseMapper<WFSystem>{
* @return
*/
@Insert
(
"${sql}"
)
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义删除SQL
...
...
@@ -57,6 +58,6 @@ public interface WFSystemMapper extends BaseMapper<WFSystem>{
* @return
*/
@Delete
(
"${sql}"
)
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFUserMapper.java
浏览文件 @
00a0c75d
...
...
@@ -2,6 +2,7 @@ package cn.ibizlab.core.workflow.mapper;
import
java.util.List
;
import
org.apache.ibatis.annotations.*
;
import
java.util.Map
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -33,7 +34,7 @@ public interface WFUserMapper extends BaseMapper<WFUser>{
* @return
*/
@Select
(
"${sql}"
)
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
);
List
<
JSONObject
>
selectBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义更新SQL
...
...
@@ -41,7 +42,7 @@ public interface WFUserMapper extends BaseMapper<WFUser>{
* @return
*/
@Update
(
"${sql}"
)
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
updateBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义插入SQL
...
...
@@ -49,7 +50,7 @@ public interface WFUserMapper extends BaseMapper<WFUser>{
* @return
*/
@Insert
(
"${sql}"
)
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
insertBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
/**
* 自定义删除SQL
...
...
@@ -57,6 +58,6 @@ public interface WFUserMapper extends BaseMapper<WFUser>{
* @return
*/
@Delete
(
"${sql}"
)
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
);
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFGroupService.java
浏览文件 @
00a0c75d
...
...
@@ -36,11 +36,20 @@ public interface IWFGroupService extends IService<WFGroup>{
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFGroup
get
(
String
key
)
;
Page
<
WFGroup
>
searchDefault
(
WFGroupSearchContext
context
)
;
List
<
JSONObject
>
select
(
String
sql
);
boolean
execute
(
String
sql
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List
<
JSONObject
>
select
(
String
sql
,
Map
param
);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean
execute
(
String
sql
,
Map
param
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFMemberService.java
浏览文件 @
00a0c75d
...
...
@@ -36,18 +36,25 @@ public interface IWFMemberService extends IService<WFMember>{
void
updateBatch
(
List
<
WFMember
>
list
)
;
WFMember
get
(
String
key
)
;
Page
<
WFMember
>
searchDefault
(
WFMemberSearchContext
context
)
;
List
<
WFMember
>
selectByGroupid
(
String
id
)
;
void
removeByGroupid
(
String
id
)
;
void
saveByGroupid
(
String
id
,
List
<
WFMember
>
list
)
;
List
<
WFMember
>
selectByUserid
(
String
id
)
;
void
removeByUserid
(
String
id
)
;
List
<
JSONObject
>
select
(
String
sql
);
boolean
execute
(
String
sql
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List
<
JSONObject
>
select
(
String
sql
,
Map
param
);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean
execute
(
String
sql
,
Map
param
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFProcessDefinitionService.java
浏览文件 @
00a0c75d
...
...
@@ -36,11 +36,20 @@ public interface IWFProcessDefinitionService extends IService<WFProcessDefinitio
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
Page
<
WFProcessDefinition
>
searchDefault
(
WFProcessDefinitionSearchContext
context
)
;
List
<
JSONObject
>
select
(
String
sql
);
boolean
execute
(
String
sql
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List
<
JSONObject
>
select
(
String
sql
,
Map
param
);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean
execute
(
String
sql
,
Map
param
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFProcessInstanceService.java
浏览文件 @
00a0c75d
...
...
@@ -35,8 +35,6 @@ public interface IWFProcessInstanceService{
void
createBatch
(
List
<
WFProcessInstance
>
list
)
;
Page
<
WFProcessInstance
>
searchDefault
(
WFProcessInstanceSearchContext
context
)
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFProcessNodeService.java
浏览文件 @
00a0c75d
...
...
@@ -35,8 +35,6 @@ public interface IWFProcessNodeService{
WFProcessNode
getDraft
(
WFProcessNode
et
)
;
Page
<
WFProcessNode
>
searchDefault
(
WFProcessNodeSearchContext
context
)
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFREModelService.java
浏览文件 @
00a0c75d
...
...
@@ -35,8 +35,6 @@ public interface IWFREModelService{
WFREModel
getDraft
(
WFREModel
et
)
;
Page
<
WFREModel
>
searchDefault
(
WFREModelSearchContext
context
)
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFSystemService.java
浏览文件 @
00a0c75d
...
...
@@ -36,11 +36,20 @@ public interface IWFSystemService extends IService<WFSystem>{
boolean
checkKey
(
WFSystem
et
)
;
WFSystem
get
(
String
key
)
;
Page
<
WFSystem
>
searchDefault
(
WFSystemSearchContext
context
)
;
List
<
JSONObject
>
select
(
String
sql
);
boolean
execute
(
String
sql
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List
<
JSONObject
>
select
(
String
sql
,
Map
param
);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean
execute
(
String
sql
,
Map
param
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFTaskService.java
浏览文件 @
00a0c75d
...
...
@@ -35,8 +35,6 @@ public interface IWFTaskService{
void
saveBatch
(
List
<
WFTask
>
list
)
;
Page
<
WFTask
>
searchDefault
(
WFTaskSearchContext
context
)
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFTaskWayService.java
浏览文件 @
00a0c75d
...
...
@@ -35,8 +35,6 @@ public interface IWFTaskWayService{
void
saveBatch
(
List
<
WFTaskWay
>
list
)
;
Page
<
WFTaskWay
>
searchDefault
(
WFTaskWaySearchContext
context
)
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFUserService.java
浏览文件 @
00a0c75d
...
...
@@ -36,11 +36,20 @@ public interface IWFUserService extends IService<WFUser>{
void
createBatch
(
List
<
WFUser
>
list
)
;
boolean
checkKey
(
WFUser
et
)
;
Page
<
WFUser
>
searchDefault
(
WFUserSearchContext
context
)
;
List
<
JSONObject
>
select
(
String
sql
);
boolean
execute
(
String
sql
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List
<
JSONObject
>
select
(
String
sql
,
Map
param
);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean
execute
(
String
sql
,
Map
param
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFGroupServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -29,7 +30,6 @@ import cn.ibizlab.core.workflow.service.IWFGroupService;
import
cn.ibizlab.util.helper.CachedBeanCopier
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
cn.ibizlab.core.workflow.mapper.WFGroupMapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -47,6 +47,8 @@ public class WFGroupServiceImpl extends ServiceImpl<WFGroupMapper, WFGroup> impl
@Autowired
@Lazy
private
cn
.
ibizlab
.
core
.
workflow
.
service
.
IWFMemberService
wfmemberService
;
private
int
batchSize
=
500
;
@Override
...
...
@@ -154,32 +156,26 @@ public class WFGroupServiceImpl extends ServiceImpl<WFGroupMapper, WFGroup> impl
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private
void
fillParentData
(
WFGroup
et
){
}
@Override
public
List
<
JSONObject
>
select
(
String
sql
){
return
this
.
baseMapper
.
selectBySQL
(
sql
);
public
List
<
JSONObject
>
select
(
String
sql
,
Map
param
){
return
this
.
baseMapper
.
selectBySQL
(
sql
,
param
);
}
@Override
@Transactional
public
boolean
execute
(
String
sql
){
public
boolean
execute
(
String
sql
,
Map
param
){
if
(
sql
==
null
||
sql
.
isEmpty
())
{
return
false
;
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"insert"
))
{
return
this
.
baseMapper
.
insertBySQL
(
sql
);
return
this
.
baseMapper
.
insertBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"update"
))
{
return
this
.
baseMapper
.
updateBySQL
(
sql
);
return
this
.
baseMapper
.
updateBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"delete"
))
{
return
this
.
baseMapper
.
deleteBySQL
(
sql
);
return
this
.
baseMapper
.
deleteBySQL
(
sql
,
param
);
}
log
.
warn
(
"暂未支持的SQL语法"
);
return
true
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFMemberServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -29,7 +30,6 @@ import cn.ibizlab.core.workflow.service.IWFMemberService;
import
cn.ibizlab.util.helper.CachedBeanCopier
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
cn.ibizlab.core.workflow.mapper.WFMemberMapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -44,6 +44,14 @@ import org.springframework.util.StringUtils;
@Service
(
"WFMemberServiceImpl"
)
public
class
WFMemberServiceImpl
extends
ServiceImpl
<
WFMemberMapper
,
WFMember
>
implements
IWFMemberService
{
@Autowired
@Lazy
private
cn
.
ibizlab
.
core
.
workflow
.
service
.
IWFGroupService
wfgroupService
;
@Autowired
@Lazy
private
cn
.
ibizlab
.
core
.
workflow
.
service
.
IWFUserService
wfuserService
;
private
int
batchSize
=
500
;
@Override
...
...
@@ -59,6 +67,7 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Override
@Transactional
public
boolean
create
(
WFMember
et
)
{
fillParentData
(
et
);
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getMemberid
()),
et
);
...
...
@@ -110,6 +119,7 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Override
@Transactional
public
boolean
update
(
WFMember
et
)
{
fillParentData
(
et
);
if
(!
update
(
et
,(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"memberid"
,
et
.
getMemberid
())))
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getMemberid
()),
et
);
...
...
@@ -201,41 +211,47 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
* @param et
*/
private
void
fillParentData
(
WFMember
et
){
//实体关系[
用户组
]
//实体关系[
DER1N_WF_GROUP_MEMBER_WF_GROUP_GROUPID
]
if
(!
ObjectUtils
.
isEmpty
(
et
.
getGroupid
())){
cn
.
ibizlab
.
core
.
workflow
.
domain
.
WFGroup
group
=
et
.
getGroup
();
if
(!
ObjectUtils
.
isEmpty
(
group
)){
et
.
setGroupname
(
group
.
getName
());
if
(
ObjectUtils
.
isEmpty
(
group
)){
cn
.
ibizlab
.
core
.
workflow
.
domain
.
WFGroup
majorEntity
=
wfgroupService
.
get
(
et
.
getGroupid
());
et
.
setGroup
(
majorEntity
);
group
=
majorEntity
;
}
et
.
setGroupname
(
group
.
getName
());
}
//实体关系[
用户
]
//实体关系[
DER1N_WF_GROUP_MEMBER_WF_USER_USERID
]
if
(!
ObjectUtils
.
isEmpty
(
et
.
getUserid
())){
cn
.
ibizlab
.
core
.
workflow
.
domain
.
WFUser
user
=
et
.
getUser
();
if
(!
ObjectUtils
.
isEmpty
(
user
)){
et
.
setPersonname
(
user
.
getDisplayname
());
if
(
ObjectUtils
.
isEmpty
(
user
)){
cn
.
ibizlab
.
core
.
workflow
.
domain
.
WFUser
majorEntity
=
wfuserService
.
get
(
et
.
getUserid
());
et
.
setUser
(
majorEntity
);
user
=
majorEntity
;
}
et
.
setPersonname
(
user
.
getDisplayname
());
}
}
@Override
public
List
<
JSONObject
>
select
(
String
sql
){
return
this
.
baseMapper
.
selectBySQL
(
sql
);
public
List
<
JSONObject
>
select
(
String
sql
,
Map
param
){
return
this
.
baseMapper
.
selectBySQL
(
sql
,
param
);
}
@Override
@Transactional
public
boolean
execute
(
String
sql
){
public
boolean
execute
(
String
sql
,
Map
param
){
if
(
sql
==
null
||
sql
.
isEmpty
())
{
return
false
;
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"insert"
))
{
return
this
.
baseMapper
.
insertBySQL
(
sql
);
return
this
.
baseMapper
.
insertBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"update"
))
{
return
this
.
baseMapper
.
updateBySQL
(
sql
);
return
this
.
baseMapper
.
updateBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"delete"
))
{
return
this
.
baseMapper
.
deleteBySQL
(
sql
);
return
this
.
baseMapper
.
deleteBySQL
(
sql
,
param
);
}
log
.
warn
(
"暂未支持的SQL语法"
);
return
true
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFProcessDefinitionServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -29,7 +30,6 @@ import cn.ibizlab.core.workflow.service.IWFProcessDefinitionService;
import
cn.ibizlab.util.helper.CachedBeanCopier
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
cn.ibizlab.core.workflow.mapper.WFProcessDefinitionMapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -44,6 +44,8 @@ import org.springframework.util.StringUtils;
@Service
(
"WFProcessDefinitionServiceImpl"
)
public
class
WFProcessDefinitionServiceImpl
extends
ServiceImpl
<
WFProcessDefinitionMapper
,
WFProcessDefinition
>
implements
IWFProcessDefinitionService
{
private
int
batchSize
=
500
;
@Override
...
...
@@ -147,32 +149,26 @@ public class WFProcessDefinitionServiceImpl extends ServiceImpl<WFProcessDefinit
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private
void
fillParentData
(
WFProcessDefinition
et
){
}
@Override
public
List
<
JSONObject
>
select
(
String
sql
){
return
this
.
baseMapper
.
selectBySQL
(
sql
);
public
List
<
JSONObject
>
select
(
String
sql
,
Map
param
){
return
this
.
baseMapper
.
selectBySQL
(
sql
,
param
);
}
@Override
@Transactional
public
boolean
execute
(
String
sql
){
public
boolean
execute
(
String
sql
,
Map
param
){
if
(
sql
==
null
||
sql
.
isEmpty
())
{
return
false
;
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"insert"
))
{
return
this
.
baseMapper
.
insertBySQL
(
sql
);
return
this
.
baseMapper
.
insertBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"update"
))
{
return
this
.
baseMapper
.
updateBySQL
(
sql
);
return
this
.
baseMapper
.
updateBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"delete"
))
{
return
this
.
baseMapper
.
deleteBySQL
(
sql
);
return
this
.
baseMapper
.
deleteBySQL
(
sql
,
param
);
}
log
.
warn
(
"暂未支持的SQL语法"
);
return
true
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFProcessInstanceServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -30,7 +31,6 @@ import cn.ibizlab.util.helper.CachedBeanCopier;
/**
* 实体[流程实例] 无存储服务对象接口实现
*/
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFProcessNodeServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -30,7 +31,6 @@ import cn.ibizlab.util.helper.CachedBeanCopier;
/**
* 实体[流程定义节点] 无存储服务对象接口实现
*/
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFSystemServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -29,7 +30,6 @@ import cn.ibizlab.core.workflow.service.IWFSystemService;
import
cn.ibizlab.util.helper.CachedBeanCopier
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
cn.ibizlab.core.workflow.mapper.WFSystemMapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -44,6 +44,8 @@ import org.springframework.util.StringUtils;
@Service
(
"WFSystemServiceImpl"
)
public
class
WFSystemServiceImpl
extends
ServiceImpl
<
WFSystemMapper
,
WFSystem
>
implements
IWFSystemService
{
private
int
batchSize
=
500
;
@Override
...
...
@@ -147,32 +149,26 @@ public class WFSystemServiceImpl extends ServiceImpl<WFSystemMapper, WFSystem> i
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private
void
fillParentData
(
WFSystem
et
){
}
@Override
public
List
<
JSONObject
>
select
(
String
sql
){
return
this
.
baseMapper
.
selectBySQL
(
sql
);
public
List
<
JSONObject
>
select
(
String
sql
,
Map
param
){
return
this
.
baseMapper
.
selectBySQL
(
sql
,
param
);
}
@Override
@Transactional
public
boolean
execute
(
String
sql
){
public
boolean
execute
(
String
sql
,
Map
param
){
if
(
sql
==
null
||
sql
.
isEmpty
())
{
return
false
;
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"insert"
))
{
return
this
.
baseMapper
.
insertBySQL
(
sql
);
return
this
.
baseMapper
.
insertBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"update"
))
{
return
this
.
baseMapper
.
updateBySQL
(
sql
);
return
this
.
baseMapper
.
updateBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"delete"
))
{
return
this
.
baseMapper
.
deleteBySQL
(
sql
);
return
this
.
baseMapper
.
deleteBySQL
(
sql
,
param
);
}
log
.
warn
(
"暂未支持的SQL语法"
);
return
true
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFTaskServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -30,7 +31,6 @@ import cn.ibizlab.util.helper.CachedBeanCopier;
/**
* 实体[工作流任务] 无存储服务对象接口实现
*/
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFTaskWayServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -30,7 +31,6 @@ import cn.ibizlab.util.helper.CachedBeanCopier;
/**
* 实体[操作路径] 无存储服务对象接口实现
*/
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFUserServiceImpl.java
浏览文件 @
00a0c75d
...
...
@@ -4,6 +4,7 @@ import java.io.Serializable;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.Map
;
import
java.util.HashSet
;
import
java.util.HashMap
;
import
java.util.Collection
;
...
...
@@ -29,7 +30,6 @@ import cn.ibizlab.core.workflow.service.IWFUserService;
import
cn.ibizlab.util.helper.CachedBeanCopier
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
cn.ibizlab.core.workflow.mapper.WFUserMapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
...
...
@@ -47,6 +47,8 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
@Autowired
@Lazy
private
cn
.
ibizlab
.
core
.
workflow
.
service
.
IWFMemberService
wfmemberService
;
private
int
batchSize
=
500
;
@Override
...
...
@@ -150,32 +152,26 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private
void
fillParentData
(
WFUser
et
){
}
@Override
public
List
<
JSONObject
>
select
(
String
sql
){
return
this
.
baseMapper
.
selectBySQL
(
sql
);
public
List
<
JSONObject
>
select
(
String
sql
,
Map
param
){
return
this
.
baseMapper
.
selectBySQL
(
sql
,
param
);
}
@Override
@Transactional
public
boolean
execute
(
String
sql
){
public
boolean
execute
(
String
sql
,
Map
param
){
if
(
sql
==
null
||
sql
.
isEmpty
())
{
return
false
;
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"insert"
))
{
return
this
.
baseMapper
.
insertBySQL
(
sql
);
return
this
.
baseMapper
.
insertBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"update"
))
{
return
this
.
baseMapper
.
updateBySQL
(
sql
);
return
this
.
baseMapper
.
updateBySQL
(
sql
,
param
);
}
if
(
sql
.
toLowerCase
().
trim
().
startsWith
(
"delete"
))
{
return
this
.
baseMapper
.
deleteBySQL
(
sql
);
return
this
.
baseMapper
.
deleteBySQL
(
sql
,
param
);
}
log
.
warn
(
"暂未支持的SQL语法"
);
return
true
;
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
浏览文件 @
00a0c75d
...
...
@@ -21,7 +21,7 @@ import java.io.IOException;
/**
* 权限:向uaa同步当前系统菜单、权限资源任务类
*/
@Component
//开启此类需要保证Main中开启了feign :EnableFeignClients
//
@Component //开启此类需要保证Main中开启了feign :EnableFeignClients
public
class
PermissionSyncJob
implements
ApplicationRunner
{
private
Log
log
=
LogFactory
.
getLog
(
PermissionSyncJob
.
class
);
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录