Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
I
ibzwf
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
ibiz4jteam
ibzwf
提交
38f046f6
提交
38f046f6
编写于
11月 13, 2020
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ibiz4j 发布系统代码 [ibz-wf,统一工作流]
上级
e75c1a07
变更
76
显示空白字符变更
内嵌
并排
正在显示
76 个修改的文件
包含
1079 行增加
和
911 行删除
+1079
-911
package.json
app_web/package.json
+9
-1
config.xml
config.xml
+0
-5
WFGroup.java
...rc/main/java/cn/ibizlab/core/workflow/domain/WFGroup.java
+10
-10
WFHistory.java
.../main/java/cn/ibizlab/core/workflow/domain/WFHistory.java
+4
-4
WFMember.java
...c/main/java/cn/ibizlab/core/workflow/domain/WFMember.java
+15
-15
WFProcessDefinition.java
.../cn/ibizlab/core/workflow/domain/WFProcessDefinition.java
+31
-31
WFProcessInstance.java
...va/cn/ibizlab/core/workflow/domain/WFProcessInstance.java
+7
-7
WFProcessNode.java
...n/java/cn/ibizlab/core/workflow/domain/WFProcessNode.java
+1
-1
WFREModel.java
.../main/java/cn/ibizlab/core/workflow/domain/WFREModel.java
+1
-1
WFSystem.java
...c/main/java/cn/ibizlab/core/workflow/domain/WFSystem.java
+7
-7
WFTask.java
...src/main/java/cn/ibizlab/core/workflow/domain/WFTask.java
+4
-4
WFTaskWay.java
.../main/java/cn/ibizlab/core/workflow/domain/WFTaskWay.java
+1
-1
WFUser.java
...src/main/java/cn/ibizlab/core/workflow/domain/WFUser.java
+25
-25
WFGroupSearchContext.java
...cn/ibizlab/core/workflow/filter/WFGroupSearchContext.java
+1
-0
WFMemberSearchContext.java
...n/ibizlab/core/workflow/filter/WFMemberSearchContext.java
+1
-0
WFProcessDefinitionSearchContext.java
...ore/workflow/filter/WFProcessDefinitionSearchContext.java
+1
-0
WFSystemSearchContext.java
...n/ibizlab/core/workflow/filter/WFSystemSearchContext.java
+1
-0
WFUserSearchContext.java
.../cn/ibizlab/core/workflow/filter/WFUserSearchContext.java
+1
-0
WFGroupMapper.java
...n/java/cn/ibizlab/core/workflow/mapper/WFGroupMapper.java
+9
-9
WFMemberMapper.java
.../java/cn/ibizlab/core/workflow/mapper/WFMemberMapper.java
+11
-11
WFProcessDefinitionMapper.java
...izlab/core/workflow/mapper/WFProcessDefinitionMapper.java
+14
-14
WFSystemMapper.java
.../java/cn/ibizlab/core/workflow/mapper/WFSystemMapper.java
+9
-9
WFUserMapper.java
...in/java/cn/ibizlab/core/workflow/mapper/WFUserMapper.java
+9
-9
IWFGroupService.java
...ava/cn/ibizlab/core/workflow/service/IWFGroupService.java
+14
-14
IWFHistoryService.java
...a/cn/ibizlab/core/workflow/service/IWFHistoryService.java
+14
-14
IWFMemberService.java
...va/cn/ibizlab/core/workflow/service/IWFMemberService.java
+16
-16
IWFProcessDefinitionService.java
...ab/core/workflow/service/IWFProcessDefinitionService.java
+18
-18
IWFProcessInstanceService.java
...zlab/core/workflow/service/IWFProcessInstanceService.java
+14
-14
IWFProcessNodeService.java
.../ibizlab/core/workflow/service/IWFProcessNodeService.java
+14
-14
IWFREModelService.java
...a/cn/ibizlab/core/workflow/service/IWFREModelService.java
+14
-14
IWFSystemService.java
...va/cn/ibizlab/core/workflow/service/IWFSystemService.java
+14
-14
IWFTaskService.java
...java/cn/ibizlab/core/workflow/service/IWFTaskService.java
+14
-14
IWFTaskWayService.java
...a/cn/ibizlab/core/workflow/service/IWFTaskWayService.java
+14
-14
IWFUserService.java
...java/cn/ibizlab/core/workflow/service/IWFUserService.java
+16
-16
WFGroupServiceImpl.java
...bizlab/core/workflow/service/impl/WFGroupServiceImpl.java
+17
-14
WFMemberServiceImpl.java
...izlab/core/workflow/service/impl/WFMemberServiceImpl.java
+20
-15
WFProcessDefinitionServiceImpl.java
...workflow/service/impl/WFProcessDefinitionServiceImpl.java
+15
-12
WFSystemServiceImpl.java
...izlab/core/workflow/service/impl/WFSystemServiceImpl.java
+15
-12
WFUserServiceImpl.java
...ibizlab/core/workflow/service/impl/WFUserServiceImpl.java
+21
-16
pom.xml
ibzwf-dependencies/pom.xml
+0
-1
Dockerfile
ibzwf-provider/ibzwf-provider-api/src/main/docker/Dockerfile
+1
-1
ibzwf-provider-api.yaml
...bzwf-provider-api/src/main/docker/ibzwf-provider-api.yaml
+1
-14
WFGroupMapping.java
.../src/main/java/cn/ibizlab/api/mapping/WFGroupMapping.java
+3
-4
WFMemberMapping.java
...src/main/java/cn/ibizlab/api/mapping/WFMemberMapping.java
+3
-4
WFProcessDefinitionMapping.java
...va/cn/ibizlab/api/mapping/WFProcessDefinitionMapping.java
+3
-4
WFREModelMapping.java
...rc/main/java/cn/ibizlab/api/mapping/WFREModelMapping.java
+3
-4
WFSystemMapping.java
...src/main/java/cn/ibizlab/api/mapping/WFSystemMapping.java
+3
-4
WFTaskMapping.java
...i/src/main/java/cn/ibizlab/api/mapping/WFTaskMapping.java
+3
-4
WFUserMapping.java
...i/src/main/java/cn/ibizlab/api/mapping/WFUserMapping.java
+3
-4
AuditAspect.java
...til/src/main/java/cn/ibizlab/util/aspect/AuditAspect.java
+56
-57
DEFieldDefaultValueAspect.java
...ava/cn/ibizlab/util/aspect/DEFieldDefaultValueAspect.java
+62
-56
VersionCheckAspect.java
.../main/java/cn/ibizlab/util/aspect/VersionCheckAspect.java
+50
-43
DTOBase.java
ibzwf-util/src/main/java/cn/ibizlab/util/domain/DTOBase.java
+12
-6
EntityBase.java
...util/src/main/java/cn/ibizlab/util/domain/EntityBase.java
+15
-11
EntityMP.java
...f-util/src/main/java/cn/ibizlab/util/domain/EntityMP.java
+6
-6
EntityMongo.java
...til/src/main/java/cn/ibizlab/util/domain/EntityMongo.java
+0
-2
QueryBuildContext.java
...c/main/java/cn/ibizlab/util/filter/QueryBuildContext.java
+4
-3
QueryFilter.java
...til/src/main/java/cn/ibizlab/util/filter/QueryFilter.java
+8
-5
QueryWrapperContext.java
...main/java/cn/ibizlab/util/filter/QueryWrapperContext.java
+14
-12
SearchContextBase.java
...c/main/java/cn/ibizlab/util/filter/SearchContextBase.java
+6
-4
CachedBeanCopier.java
...rc/main/java/cn/ibizlab/util/helper/CachedBeanCopier.java
+2
-3
DEFieldCacheMap.java
...src/main/java/cn/ibizlab/util/helper/DEFieldCacheMap.java
+52
-31
DataObject.java
...util/src/main/java/cn/ibizlab/util/helper/DataObject.java
+62
-38
RuleUtils.java
...-util/src/main/java/cn/ibizlab/util/helper/RuleUtils.java
+102
-54
PermissionSyncJob.java
.../src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
+8
-8
AppController.java
...til/src/main/java/cn/ibizlab/util/rest/AppController.java
+12
-6
AuthenticationController.java
...n/java/cn/ibizlab/util/rest/AuthenticationController.java
+1
-1
AuthPermissionEvaluator.java
...ava/cn/ibizlab/util/security/AuthPermissionEvaluator.java
+33
-17
AuthenticationUser.java
...ain/java/cn/ibizlab/util/security/AuthenticationUser.java
+4
-2
IBZConfigService.java
...c/main/java/cn/ibizlab/util/service/IBZConfigService.java
+8
-4
IBZUAAUserService.java
.../main/java/cn/ibizlab/util/service/IBZUAAUserService.java
+4
-3
SimpleAuditService.java
...main/java/cn/ibizlab/util/service/SimpleAuditService.java
+99
-85
SimpleFileService.java
.../main/java/cn/ibizlab/util/service/SimpleFileService.java
+7
-6
FeignRequestInterceptor.java
...ain/java/cn/ibizlab/util/web/FeignRequestInterceptor.java
+2
-1
IBZOperationParameterReader.java
...java/cn/ibizlab/util/web/IBZOperationParameterReader.java
+5
-5
SearchContextHandlerMethodArgumentResolver.java
.../util/web/SearchContextHandlerMethodArgumentResolver.java
+0
-3
未找到文件。
app_web/package.json
浏览文件 @
38f046f6
...
...
@@ -9,7 +9,8 @@
"dev-build"
:
"node --max_old_space_size=8102 ./node_modules/@vue/cli-service/bin/vue-cli-service build --mode development"
,
"test:unit"
:
"vue-cli-service test:unit"
,
"test:e2e"
:
"vue-cli-service test:e2e"
,
"lint"
:
"vue-cli-service lint"
"lint"
:
"vue-cli-service lint"
,
"format-code"
:
"prettier-eslint --write
\"
src/**/*.js
\"
\"
src/**/*.vue
\"
\"
src/**/*.tsx
\"
\"
src/**/*.ts
\"
\"
src/**/*.less
\"
"
},
"dependencies"
:
{
"@fullcalendar/core"
:
"^4.4.0"
,
...
...
@@ -66,5 +67,12 @@
"script-loader"
:
"^0.7.2"
,
"typescript"
:
"~3.5.3"
,
"vue-template-compiler"
:
"^2.6.10"
},
"eslintConfig"
:
{
"root"
:
true
,
"extends"
:
[
"gitee"
,
"stylelint-config-prettier"
]
}
}
config.xml
浏览文件 @
38f046f6
...
...
@@ -37,11 +37,6 @@
git clone -b master $para2 ibzwf/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibzwf/
mvn clean package -Papi
cd ibzwf-provider/ibzwf-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibzwf-provider-api.yaml ibzlab-rt --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFGroup.java
浏览文件 @
38f046f6
...
...
@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties
(
value
=
"handler"
)
@TableName
(
value
=
"IBZWFGROUP"
,
resultMap
=
"WFGroupResultMap"
)
@TableName
(
value
=
"IBZWFGROUP"
,
resultMap
=
"WFGroupResultMap"
)
public
class
WFGroup
extends
EntityMP
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -46,8 +46,8 @@ public class WFGroup extends EntityMP implements Serializable {
/**
* 组标识
*/
@DEField
(
name
=
"groupid"
,
isKeyField
=
true
)
@TableId
(
value
=
"groupid"
,
type
=
IdType
.
ASSIGN_UUID
)
@DEField
(
name
=
"groupid"
,
isKeyField
=
true
)
@TableId
(
value
=
"groupid"
,
type
=
IdType
.
ASSIGN_UUID
)
@JSONField
(
name
=
"id"
)
@JsonProperty
(
"id"
)
private
String
id
;
...
...
@@ -80,17 +80,17 @@ public class WFGroup extends EntityMP implements Serializable {
/**
* 设置 [组名称]
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
this
.
modify
(
"groupname"
,
name
);
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
this
.
modify
(
"groupname"
,
name
);
}
/**
* 设置 [范围]
*/
public
void
setGroupscope
(
String
groupscope
){
this
.
groupscope
=
groupscope
;
this
.
modify
(
"groupscope"
,
groupscope
);
public
void
setGroupscope
(
String
groupscope
)
{
this
.
groupscope
=
groupscope
;
this
.
modify
(
"groupscope"
,
groupscope
);
}
...
...
@@ -104,7 +104,7 @@ public class WFGroup extends EntityMP implements Serializable {
@Override
public
<
T
>
T
copyTo
(
T
targetEntity
,
boolean
bIncEmpty
)
{
this
.
reset
(
"groupid"
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
}
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFHistory.java
浏览文件 @
38f046f6
...
...
@@ -39,7 +39,7 @@ public class WFHistory extends EntityBase implements Serializable {
/**
* 标识
*/
@DEField
(
name
=
"histid"
,
isKeyField
=
true
)
@DEField
(
name
=
"histid"
,
isKeyField
=
true
)
@JSONField
(
name
=
"id"
)
@JsonProperty
(
"id"
)
private
String
id
;
...
...
@@ -70,8 +70,8 @@ public class WFHistory extends EntityBase implements Serializable {
* 时间
*/
@DEField
(
name
=
"actiontime"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"time"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"time"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"time"
)
private
Timestamp
time
;
...
...
@@ -112,7 +112,7 @@ public class WFHistory extends EntityBase implements Serializable {
/**
* 格式化日期 [时间]
*/
public
String
formatTime
(){
public
String
formatTime
()
{
if
(
this
.
time
==
null
)
{
return
null
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFMember.java
浏览文件 @
38f046f6
...
...
@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties
(
value
=
"handler"
)
@TableName
(
value
=
"IBZWFMEMBER"
,
resultMap
=
"WFMemberResultMap"
)
@TableName
(
value
=
"IBZWFMEMBER"
,
resultMap
=
"WFMemberResultMap"
)
public
class
WFMember
extends
EntityMP
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -46,8 +46,8 @@ public class WFMember extends EntityMP implements Serializable {
/**
* 组成员标识
*/
@DEField
(
isKeyField
=
true
)
@TableId
(
value
=
"memberid"
,
type
=
IdType
.
ASSIGN_UUID
)
@DEField
(
isKeyField
=
true
)
@TableId
(
value
=
"memberid"
,
type
=
IdType
.
ASSIGN_UUID
)
@JSONField
(
name
=
"memberid"
)
@JsonProperty
(
"memberid"
)
private
String
memberid
;
...
...
@@ -136,33 +136,33 @@ public class WFMember extends EntityMP implements Serializable {
/**
* 设置 [组成员名称]
*/
public
void
setMembername
(
String
membername
){
this
.
membername
=
membername
;
this
.
modify
(
"membername"
,
membername
);
public
void
setMembername
(
String
membername
)
{
this
.
membername
=
membername
;
this
.
modify
(
"membername"
,
membername
);
}
/**
* 设置 [组标识]
*/
public
void
setGroupid
(
String
groupid
){
this
.
groupid
=
groupid
;
this
.
modify
(
"groupid"
,
groupid
);
public
void
setGroupid
(
String
groupid
)
{
this
.
groupid
=
groupid
;
this
.
modify
(
"groupid"
,
groupid
);
}
/**
* 设置 [用户标识]
*/
public
void
setUserid
(
String
userid
){
this
.
userid
=
userid
;
this
.
modify
(
"userid"
,
userid
);
public
void
setUserid
(
String
userid
)
{
this
.
userid
=
userid
;
this
.
modify
(
"userid"
,
userid
);
}
/**
* 获取 [组成员标识]
*/
public
String
getMemberid
(){
if
(
ObjectUtils
.
isEmpty
(
memberid
)){
public
String
getMemberid
()
{
if
(
ObjectUtils
.
isEmpty
(
memberid
))
{
memberid
=(
String
)
getDefaultKey
(
true
);
}
return
memberid
;
...
...
@@ -184,7 +184,7 @@ public class WFMember extends EntityMP implements Serializable {
@Override
public
<
T
>
T
copyTo
(
T
targetEntity
,
boolean
bIncEmpty
)
{
this
.
reset
(
"memberid"
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
}
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFProcessDefinition.java
浏览文件 @
38f046f6
...
...
@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties
(
value
=
"handler"
)
@TableName
(
value
=
"IBZWFDEFINITION"
,
resultMap
=
"WFProcessDefinitionResultMap"
)
@TableName
(
value
=
"IBZWFDEFINITION"
,
resultMap
=
"WFProcessDefinitionResultMap"
)
public
class
WFProcessDefinition
extends
EntityMP
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -46,8 +46,8 @@ public class WFProcessDefinition extends EntityMP implements Serializable {
/**
* DefinitionKey
*/
@DEField
(
defaultValue
=
"deploykey"
,
defaultValueType
=
DEFieldDefaultValueType
.
PARAM
,
isKeyField
=
true
)
@TableId
(
value
=
"definitionkey"
,
type
=
IdType
.
ASSIGN_UUID
)
@DEField
(
defaultValue
=
"deploykey"
,
defaultValueType
=
DEFieldDefaultValueType
.
PARAM
,
isKeyField
=
true
)
@TableId
(
value
=
"definitionkey"
,
type
=
IdType
.
ASSIGN_UUID
)
@JSONField
(
name
=
"definitionkey"
)
@JsonProperty
(
"definitionkey"
)
private
String
definitionkey
;
...
...
@@ -120,73 +120,73 @@ public class WFProcessDefinition extends EntityMP implements Serializable {
/**
* 设置 [流程定义名称]
*/
public
void
setDefinitionname
(
String
definitionname
){
this
.
definitionname
=
definitionname
;
this
.
modify
(
"definitionname"
,
definitionname
);
public
void
setDefinitionname
(
String
definitionname
)
{
this
.
definitionname
=
definitionname
;
this
.
modify
(
"definitionname"
,
definitionname
);
}
/**
* 设置 [模型版本]
*/
public
void
setModelversion
(
Integer
modelversion
){
this
.
modelversion
=
modelversion
;
this
.
modify
(
"modelversion"
,
modelversion
);
public
void
setModelversion
(
Integer
modelversion
)
{
this
.
modelversion
=
modelversion
;
this
.
modify
(
"modelversion"
,
modelversion
);
}
/**
* 设置 [模型是否启用]
*/
public
void
setModelenable
(
Integer
modelenable
){
this
.
modelenable
=
modelenable
;
this
.
modify
(
"modelenable"
,
modelenable
);
public
void
setModelenable
(
Integer
modelenable
)
{
this
.
modelenable
=
modelenable
;
this
.
modify
(
"modelenable"
,
modelenable
);
}
/**
* 设置 [系统标识]
*/
public
void
setPssystemid
(
String
pssystemid
){
this
.
pssystemid
=
pssystemid
;
this
.
modify
(
"pssystemid"
,
pssystemid
);
public
void
setPssystemid
(
String
pssystemid
)
{
this
.
pssystemid
=
pssystemid
;
this
.
modify
(
"pssystemid"
,
pssystemid
);
}
/**
* 设置 [校验]
*/
public
void
setMd5check
(
String
md5check
){
this
.
md5check
=
md5check
;
this
.
modify
(
"md5check"
,
md5check
);
public
void
setMd5check
(
String
md5check
)
{
this
.
md5check
=
md5check
;
this
.
modify
(
"md5check"
,
md5check
);
}
/**
* 设置 [BPMN]
*/
public
void
setBpmnfile
(
String
bpmnfile
){
this
.
bpmnfile
=
bpmnfile
;
this
.
modify
(
"bpmnfile"
,
bpmnfile
);
public
void
setBpmnfile
(
String
bpmnfile
)
{
this
.
bpmnfile
=
bpmnfile
;
this
.
modify
(
"bpmnfile"
,
bpmnfile
);
}
/**
* 设置 [DeployKey]
*/
public
void
setDeploykey
(
String
deploykey
){
this
.
deploykey
=
deploykey
;
this
.
modify
(
"deploykey"
,
deploykey
);
public
void
setDeploykey
(
String
deploykey
)
{
this
.
deploykey
=
deploykey
;
this
.
modify
(
"deploykey"
,
deploykey
);
}
/**
* 设置 [WebServiceIds]
*/
public
void
setWebserviceids
(
String
webserviceids
){
this
.
webserviceids
=
webserviceids
;
this
.
modify
(
"webserviceids"
,
webserviceids
);
public
void
setWebserviceids
(
String
webserviceids
)
{
this
.
webserviceids
=
webserviceids
;
this
.
modify
(
"webserviceids"
,
webserviceids
);
}
/**
* 设置 [MobileServiceIds]
*/
public
void
setMobileserviceids
(
String
mobileserviceids
){
this
.
mobileserviceids
=
mobileserviceids
;
this
.
modify
(
"mobileserviceids"
,
mobileserviceids
);
public
void
setMobileserviceids
(
String
mobileserviceids
)
{
this
.
mobileserviceids
=
mobileserviceids
;
this
.
modify
(
"mobileserviceids"
,
mobileserviceids
);
}
...
...
@@ -200,7 +200,7 @@ public class WFProcessDefinition extends EntityMP implements Serializable {
@Override
public
<
T
>
T
copyTo
(
T
targetEntity
,
boolean
bIncEmpty
)
{
this
.
reset
(
"definitionkey"
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
}
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFProcessInstance.java
浏览文件 @
38f046f6
...
...
@@ -39,7 +39,7 @@ public class WFProcessInstance extends EntityBase implements Serializable {
/**
* 实例标识
*/
@DEField
(
name
=
"instanceid"
,
isKeyField
=
true
)
@DEField
(
name
=
"instanceid"
,
isKeyField
=
true
)
@JSONField
(
name
=
"id"
)
@JsonProperty
(
"id"
)
private
String
id
;
...
...
@@ -78,16 +78,16 @@ public class WFProcessInstance extends EntityBase implements Serializable {
/**
* 启动时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"startTime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"startTime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"startTime"
)
private
Timestamp
starttime
;
/**
* 结束时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"endTime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"endTime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"endTime"
)
private
Timestamp
endtime
;
...
...
@@ -111,7 +111,7 @@ public class WFProcessInstance extends EntityBase implements Serializable {
/**
* 格式化日期 [启动时间]
*/
public
String
formatStarttime
(){
public
String
formatStarttime
()
{
if
(
this
.
starttime
==
null
)
{
return
null
;
}
...
...
@@ -121,7 +121,7 @@ public class WFProcessInstance extends EntityBase implements Serializable {
/**
* 格式化日期 [结束时间]
*/
public
String
formatEndtime
(){
public
String
formatEndtime
()
{
if
(
this
.
endtime
==
null
)
{
return
null
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFProcessNode.java
浏览文件 @
38f046f6
...
...
@@ -39,7 +39,7 @@ public class WFProcessNode extends EntityBase implements Serializable {
/**
* 节点标识
*/
@DEField
(
name
=
"nodeid"
,
isKeyField
=
true
)
@DEField
(
name
=
"nodeid"
,
isKeyField
=
true
)
@JSONField
(
name
=
"userTaskId"
)
@JsonProperty
(
"userTaskId"
)
private
String
usertaskid
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFREModel.java
浏览文件 @
38f046f6
...
...
@@ -39,7 +39,7 @@ public class WFREModel extends EntityBase implements Serializable {
/**
* ID
*/
@DEField
(
name
=
"modelid"
,
isKeyField
=
true
)
@DEField
(
name
=
"modelid"
,
isKeyField
=
true
)
@JSONField
(
name
=
"id"
)
@JsonProperty
(
"id"
)
private
String
id
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFSystem.java
浏览文件 @
38f046f6
...
...
@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties
(
value
=
"handler"
)
@TableName
(
value
=
"IBZPSSYSTEM"
,
resultMap
=
"WFSystemResultMap"
)
@TableName
(
value
=
"IBZPSSYSTEM"
,
resultMap
=
"WFSystemResultMap"
)
public
class
WFSystem
extends
EntityMP
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -46,8 +46,8 @@ public class WFSystem extends EntityMP implements Serializable {
/**
* 系统标识
*/
@DEField
(
isKeyField
=
true
)
@TableId
(
value
=
"pssystemid"
,
type
=
IdType
.
ASSIGN_UUID
)
@DEField
(
isKeyField
=
true
)
@TableId
(
value
=
"pssystemid"
,
type
=
IdType
.
ASSIGN_UUID
)
@JSONField
(
name
=
"pssystemid"
)
@JsonProperty
(
"pssystemid"
)
private
String
pssystemid
;
...
...
@@ -64,9 +64,9 @@ public class WFSystem extends EntityMP implements Serializable {
/**
* 设置 [系统名称]
*/
public
void
setPssystemname
(
String
pssystemname
){
this
.
pssystemname
=
pssystemname
;
this
.
modify
(
"pssystemname"
,
pssystemname
);
public
void
setPssystemname
(
String
pssystemname
)
{
this
.
pssystemname
=
pssystemname
;
this
.
modify
(
"pssystemname"
,
pssystemname
);
}
...
...
@@ -80,7 +80,7 @@ public class WFSystem extends EntityMP implements Serializable {
@Override
public
<
T
>
T
copyTo
(
T
targetEntity
,
boolean
bIncEmpty
)
{
this
.
reset
(
"pssystemid"
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
}
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFTask.java
浏览文件 @
38f046f6
...
...
@@ -39,7 +39,7 @@ public class WFTask extends EntityBase implements Serializable {
/**
* 任务标识
*/
@DEField
(
name
=
"taskid"
,
isKeyField
=
true
)
@DEField
(
name
=
"taskid"
,
isKeyField
=
true
)
@JSONField
(
name
=
"id"
)
@JsonProperty
(
"id"
)
private
String
id
;
...
...
@@ -93,8 +93,8 @@ public class WFTask extends EntityBase implements Serializable {
/**
* 发起时间
*/
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"createTime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
locale
=
"zh"
,
timezone
=
"GMT+8"
)
@JSONField
(
name
=
"createTime"
,
format
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonProperty
(
"createTime"
)
private
Timestamp
createtime
;
...
...
@@ -120,7 +120,7 @@ public class WFTask extends EntityBase implements Serializable {
/**
* 格式化日期 [发起时间]
*/
public
String
formatCreatetime
(){
public
String
formatCreatetime
()
{
if
(
this
.
createtime
==
null
)
{
return
null
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFTaskWay.java
浏览文件 @
38f046f6
...
...
@@ -39,7 +39,7 @@ public class WFTaskWay extends EntityBase implements Serializable {
/**
* 路径标识
*/
@DEField
(
name
=
"wayid"
,
isKeyField
=
true
)
@DEField
(
name
=
"wayid"
,
isKeyField
=
true
)
@JSONField
(
name
=
"sequenceFlowId"
)
@JsonProperty
(
"sequenceFlowId"
)
private
String
sequenceflowid
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/domain/WFUser.java
浏览文件 @
38f046f6
...
...
@@ -38,7 +38,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@Setter
@NoArgsConstructor
@JsonIgnoreProperties
(
value
=
"handler"
)
@TableName
(
value
=
"IBZUSER"
,
resultMap
=
"WFUserResultMap"
)
@TableName
(
value
=
"IBZUSER"
,
resultMap
=
"WFUserResultMap"
)
public
class
WFUser
extends
EntityMP
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -46,8 +46,8 @@ public class WFUser extends EntityMP implements Serializable {
/**
* 用户标识
*/
@DEField
(
name
=
"userid"
,
isKeyField
=
true
)
@TableId
(
value
=
"userid"
,
type
=
IdType
.
ASSIGN_UUID
)
@DEField
(
name
=
"userid"
,
isKeyField
=
true
)
@TableId
(
value
=
"userid"
,
type
=
IdType
.
ASSIGN_UUID
)
@JSONField
(
name
=
"id"
)
@JsonProperty
(
"id"
)
private
String
id
;
...
...
@@ -124,57 +124,57 @@ public class WFUser extends EntityMP implements Serializable {
/**
* 设置 [用户全局名]
*/
public
void
setFirstname
(
String
firstname
){
this
.
firstname
=
firstname
;
this
.
modify
(
"username"
,
firstname
);
public
void
setFirstname
(
String
firstname
)
{
this
.
firstname
=
firstname
;
this
.
modify
(
"username"
,
firstname
);
}
/**
* 设置 [用户名称]
*/
public
void
setDisplayname
(
String
displayname
){
this
.
displayname
=
displayname
;
this
.
modify
(
"personname"
,
displayname
);
public
void
setDisplayname
(
String
displayname
)
{
this
.
displayname
=
displayname
;
this
.
modify
(
"personname"
,
displayname
);
}
/**
* 设置 [主部门]
*/
public
void
setMdeptid
(
String
mdeptid
){
this
.
mdeptid
=
mdeptid
;
this
.
modify
(
"mdeptid"
,
mdeptid
);
public
void
setMdeptid
(
String
mdeptid
)
{
this
.
mdeptid
=
mdeptid
;
this
.
modify
(
"mdeptid"
,
mdeptid
);
}
/**
* 设置 [主部门代码]
*/
public
void
setMdeptcode
(
String
mdeptcode
){
this
.
mdeptcode
=
mdeptcode
;
this
.
modify
(
"mdeptcode"
,
mdeptcode
);
public
void
setMdeptcode
(
String
mdeptcode
)
{
this
.
mdeptcode
=
mdeptcode
;
this
.
modify
(
"mdeptcode"
,
mdeptcode
);
}
/**
* 设置 [主部门名称]
*/
public
void
setMdeptname
(
String
mdeptname
){
this
.
mdeptname
=
mdeptname
;
this
.
modify
(
"mdeptname"
,
mdeptname
);
public
void
setMdeptname
(
String
mdeptname
)
{
this
.
mdeptname
=
mdeptname
;
this
.
modify
(
"mdeptname"
,
mdeptname
);
}
/**
* 设置 [业务编码]
*/
public
void
setBcode
(
String
bcode
){
this
.
bcode
=
bcode
;
this
.
modify
(
"bcode"
,
bcode
);
public
void
setBcode
(
String
bcode
)
{
this
.
bcode
=
bcode
;
this
.
modify
(
"bcode"
,
bcode
);
}
/**
* 设置 [单位代码]
*/
public
void
setOrgcode
(
String
orgcode
){
this
.
orgcode
=
orgcode
;
this
.
modify
(
"orgcode"
,
orgcode
);
public
void
setOrgcode
(
String
orgcode
)
{
this
.
orgcode
=
orgcode
;
this
.
modify
(
"orgcode"
,
orgcode
);
}
...
...
@@ -188,7 +188,7 @@ public class WFUser extends EntityMP implements Serializable {
@Override
public
<
T
>
T
copyTo
(
T
targetEntity
,
boolean
bIncEmpty
)
{
this
.
reset
(
"userid"
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
return
super
.
copyTo
(
targetEntity
,
bIncEmpty
);
}
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/filter/WFGroupSearchContext.java
浏览文件 @
38f046f6
...
...
@@ -38,6 +38,7 @@ public class WFGroupSearchContext extends QueryWrapperContext<WFGroup> {
/**
* 启用快速搜索
*/
@Override
public
void
setQuery
(
String
query
)
{
this
.
query
=
query
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/filter/WFMemberSearchContext.java
浏览文件 @
38f046f6
...
...
@@ -80,6 +80,7 @@ public class WFMemberSearchContext extends QueryWrapperContext<WFMember> {
/**
* 启用快速搜索
*/
@Override
public
void
setQuery
(
String
query
)
{
this
.
query
=
query
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/filter/WFProcessDefinitionSearchContext.java
浏览文件 @
38f046f6
...
...
@@ -45,6 +45,7 @@ public class WFProcessDefinitionSearchContext extends QueryWrapperContext<WFProc
/**
* 启用快速搜索
*/
@Override
public
void
setQuery
(
String
query
)
{
this
.
query
=
query
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/filter/WFSystemSearchContext.java
浏览文件 @
38f046f6
...
...
@@ -38,6 +38,7 @@ public class WFSystemSearchContext extends QueryWrapperContext<WFSystem> {
/**
* 启用快速搜索
*/
@Override
public
void
setQuery
(
String
query
)
{
this
.
query
=
query
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/filter/WFUserSearchContext.java
浏览文件 @
38f046f6
...
...
@@ -38,6 +38,7 @@ public class WFUserSearchContext extends QueryWrapperContext<WFUser> {
/**
* 启用快速搜索
*/
@Override
public
void
setQuery
(
String
query
)
{
this
.
query
=
query
;
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFGroupMapper.java
浏览文件 @
38f046f6
...
...
@@ -17,9 +17,9 @@ import java.io.Serializable;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.alibaba.fastjson.JSONObject
;
public
interface
WFGroupMapper
extends
BaseMapper
<
WFGroup
>{
public
interface
WFGroupMapper
extends
BaseMapper
<
WFGroup
>
{
Page
<
WFGroup
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFGroupSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFGroup
>
wrapper
)
;
Page
<
WFGroup
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFGroupSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFGroup
>
wrapper
);
@Override
WFGroup
selectById
(
Serializable
id
);
@Override
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFMemberMapper.java
浏览文件 @
38f046f6
...
...
@@ -17,9 +17,9 @@ import java.io.Serializable;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.alibaba.fastjson.JSONObject
;
public
interface
WFMemberMapper
extends
BaseMapper
<
WFMember
>{
public
interface
WFMemberMapper
extends
BaseMapper
<
WFMember
>
{
Page
<
WFMember
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFMemberSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFMember
>
wrapper
)
;
Page
<
WFMember
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFMemberSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFMember
>
wrapper
);
@Override
WFMember
selectById
(
Serializable
id
);
@Override
...
...
@@ -62,8 +62,8 @@ public interface WFMemberMapper extends BaseMapper<WFMember>{
@Delete
(
"${sql}"
)
boolean
deleteBySQL
(
@Param
(
"sql"
)
String
sql
,
@Param
(
"et"
)
Map
param
);
List
<
WFMember
>
selectByGroupid
(
@Param
(
"id"
)
Serializable
id
)
;
List
<
WFMember
>
selectByGroupid
(
@Param
(
"id"
)
Serializable
id
);
List
<
WFMember
>
selectByUserid
(
@Param
(
"id"
)
Serializable
id
)
;
List
<
WFMember
>
selectByUserid
(
@Param
(
"id"
)
Serializable
id
);
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFProcessDefinitionMapper.java
浏览文件 @
38f046f6
...
...
@@ -17,23 +17,23 @@ import java.io.Serializable;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.alibaba.fastjson.JSONObject
;
public
interface
WFProcessDefinitionMapper
extends
BaseMapper
<
WFProcessDefinition
>{
public
interface
WFProcessDefinitionMapper
extends
BaseMapper
<
WFProcessDefinition
>
{
Page
<
WFProcessDefinition
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFProcessDefinitionSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFProcessDefinition
>
wrapper
)
;
Page
<
WFProcessDefinition
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFProcessDefinitionSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFProcessDefinition
>
wrapper
);
@Override
@Cacheable
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0"
)
@Cacheable
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0"
)
WFProcessDefinition
selectById
(
Serializable
id
);
@Override
@CacheEvict
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0.definitionkey"
)
@CacheEvict
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0.definitionkey"
)
int
insert
(
WFProcessDefinition
entity
);
@Override
@CacheEvict
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0.definitionkey"
)
@CacheEvict
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0.definitionkey"
)
int
updateById
(
@Param
(
Constants
.
ENTITY
)
WFProcessDefinition
entity
);
@Override
@CacheEvict
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0.definitionkey"
)
@CacheEvict
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0.definitionkey"
)
int
update
(
@Param
(
Constants
.
ENTITY
)
WFProcessDefinition
entity
,
@Param
(
"ew"
)
Wrapper
<
WFProcessDefinition
>
updateWrapper
);
@Override
@CacheEvict
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0"
)
@CacheEvict
(
value
=
"wfprocessdefinition"
,
key
=
"'row:'+#p0"
)
int
deleteById
(
Serializable
id
);
/**
* 自定义查询SQL
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFSystemMapper.java
浏览文件 @
38f046f6
...
...
@@ -17,9 +17,9 @@ import java.io.Serializable;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.alibaba.fastjson.JSONObject
;
public
interface
WFSystemMapper
extends
BaseMapper
<
WFSystem
>{
public
interface
WFSystemMapper
extends
BaseMapper
<
WFSystem
>
{
Page
<
WFSystem
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFSystemSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFSystem
>
wrapper
)
;
Page
<
WFSystem
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFSystemSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFSystem
>
wrapper
);
@Override
WFSystem
selectById
(
Serializable
id
);
@Override
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/mapper/WFUserMapper.java
浏览文件 @
38f046f6
...
...
@@ -17,9 +17,9 @@ import java.io.Serializable;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.alibaba.fastjson.JSONObject
;
public
interface
WFUserMapper
extends
BaseMapper
<
WFUser
>{
public
interface
WFUserMapper
extends
BaseMapper
<
WFUser
>
{
Page
<
WFUser
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFUserSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFUser
>
wrapper
)
;
Page
<
WFUser
>
searchDefault
(
IPage
page
,
@Param
(
"srf"
)
WFUserSearchContext
context
,
@Param
(
"ew"
)
Wrapper
<
WFUser
>
wrapper
);
@Override
WFUser
selectById
(
Serializable
id
);
@Override
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFGroupService.java
浏览文件 @
38f046f6
...
...
@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFGroup] 服务对象接口
*/
public
interface
IWFGroupService
extends
IService
<
WFGroup
>{
boolean
create
(
WFGroup
et
)
;
void
createBatch
(
List
<
WFGroup
>
list
)
;
boolean
update
(
WFGroup
et
)
;
void
updateBatch
(
List
<
WFGroup
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFGroup
get
(
String
key
)
;
WFGroup
getDraft
(
WFGroup
et
)
;
boolean
checkKey
(
WFGroup
et
)
;
boolean
save
(
WFGroup
et
)
;
void
saveBatch
(
List
<
WFGroup
>
list
)
;
Page
<
WFGroup
>
searchDefault
(
WFGroupSearchContext
context
)
;
public
interface
IWFGroupService
extends
IService
<
WFGroup
>
{
boolean
create
(
WFGroup
et
);
void
createBatch
(
List
<
WFGroup
>
list
);
boolean
update
(
WFGroup
et
);
void
updateBatch
(
List
<
WFGroup
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFGroup
get
(
String
key
);
WFGroup
getDraft
(
WFGroup
et
);
boolean
checkKey
(
WFGroup
et
);
boolean
save
(
WFGroup
et
);
void
saveBatch
(
List
<
WFGroup
>
list
);
Page
<
WFGroup
>
searchDefault
(
WFGroupSearchContext
context
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFHistoryService.java
浏览文件 @
38f046f6
...
...
@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFHistorySearchContext;
/**
* 实体[WFHistory] 服务对象接口
*/
public
interface
IWFHistoryService
{
boolean
create
(
WFHistory
et
)
;
void
createBatch
(
List
<
WFHistory
>
list
)
;
boolean
update
(
WFHistory
et
)
;
void
updateBatch
(
List
<
WFHistory
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFHistory
get
(
String
key
)
;
WFHistory
getDraft
(
WFHistory
et
)
;
boolean
checkKey
(
WFHistory
et
)
;
boolean
save
(
WFHistory
et
)
;
void
saveBatch
(
List
<
WFHistory
>
list
)
;
Page
<
WFHistory
>
searchDefault
(
WFHistorySearchContext
context
)
;
public
interface
IWFHistoryService
{
boolean
create
(
WFHistory
et
);
void
createBatch
(
List
<
WFHistory
>
list
);
boolean
update
(
WFHistory
et
);
void
updateBatch
(
List
<
WFHistory
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFHistory
get
(
String
key
);
WFHistory
getDraft
(
WFHistory
et
);
boolean
checkKey
(
WFHistory
et
);
boolean
save
(
WFHistory
et
);
void
saveBatch
(
List
<
WFHistory
>
list
);
Page
<
WFHistory
>
searchDefault
(
WFHistorySearchContext
context
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFMemberService.java
浏览文件 @
38f046f6
...
...
@@ -23,23 +23,23 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFMember] 服务对象接口
*/
public
interface
IWFMemberService
extends
IService
<
WFMember
>{
public
interface
IWFMemberService
extends
IService
<
WFMember
>
{
boolean
create
(
WFMember
et
)
;
void
createBatch
(
List
<
WFMember
>
list
)
;
boolean
update
(
WFMember
et
)
;
void
updateBatch
(
List
<
WFMember
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFMember
get
(
String
key
)
;
WFMember
getDraft
(
WFMember
et
)
;
boolean
checkKey
(
WFMember
et
)
;
boolean
save
(
WFMember
et
)
;
void
saveBatch
(
List
<
WFMember
>
list
)
;
Page
<
WFMember
>
searchDefault
(
WFMemberSearchContext
context
)
;
boolean
create
(
WFMember
et
);
void
createBatch
(
List
<
WFMember
>
list
);
boolean
update
(
WFMember
et
);
void
updateBatch
(
List
<
WFMember
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFMember
get
(
String
key
);
WFMember
getDraft
(
WFMember
et
);
boolean
checkKey
(
WFMember
et
);
boolean
save
(
WFMember
et
);
void
saveBatch
(
List
<
WFMember
>
list
);
Page
<
WFMember
>
searchDefault
(
WFMemberSearchContext
context
);
List
<
WFMember
>
selectByGroupid
(
String
id
);
void
removeByGroupid
(
String
id
);
void
saveByGroupid
(
String
id
,
List
<
WFMember
>
list
)
;
void
saveByGroupid
(
String
id
,
List
<
WFMember
>
list
)
;
List
<
WFMember
>
selectByUserid
(
String
id
);
void
removeByUserid
(
String
id
);
/**
...
...
@@ -57,8 +57,8 @@ public interface IWFMemberService extends IService<WFMember>{
*/
boolean
execute
(
String
sql
,
Map
param
);
List
<
WFMember
>
getWfmemberByIds
(
List
<
String
>
ids
)
;
List
<
WFMember
>
getWfmemberByEntities
(
List
<
WFMember
>
entities
)
;
List
<
WFMember
>
getWfmemberByIds
(
List
<
String
>
ids
);
List
<
WFMember
>
getWfmemberByEntities
(
List
<
WFMember
>
entities
);
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFProcessDefinitionService.java
浏览文件 @
38f046f6
...
...
@@ -23,24 +23,24 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFProcessDefinition] 服务对象接口
*/
public
interface
IWFProcessDefinitionService
extends
IService
<
WFProcessDefinition
>{
boolean
create
(
WFProcessDefinition
et
)
;
@CacheEvict
(
value
=
"wfprocessdefinition"
,
allEntries
=
true
)
void
createBatch
(
List
<
WFProcessDefinition
>
list
)
;
boolean
update
(
WFProcessDefinition
et
)
;
@CacheEvict
(
value
=
"wfprocessdefinition"
,
allEntries
=
true
)
void
updateBatch
(
List
<
WFProcessDefinition
>
list
)
;
boolean
remove
(
String
key
)
;
@CacheEvict
(
value
=
"wfprocessdefinition"
,
allEntries
=
true
)
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFProcessDefinition
get
(
String
key
)
;
WFProcessDefinition
getDraft
(
WFProcessDefinition
et
)
;
boolean
checkKey
(
WFProcessDefinition
et
)
;
boolean
save
(
WFProcessDefinition
et
)
;
@CacheEvict
(
value
=
"wfprocessdefinition"
,
allEntries
=
true
)
void
saveBatch
(
List
<
WFProcessDefinition
>
list
)
;
Page
<
WFProcessDefinition
>
searchDefault
(
WFProcessDefinitionSearchContext
context
)
;
public
interface
IWFProcessDefinitionService
extends
IService
<
WFProcessDefinition
>
{
boolean
create
(
WFProcessDefinition
et
);
@CacheEvict
(
value
=
"wfprocessdefinition"
,
allEntries
=
true
)
void
createBatch
(
List
<
WFProcessDefinition
>
list
);
boolean
update
(
WFProcessDefinition
et
);
@CacheEvict
(
value
=
"wfprocessdefinition"
,
allEntries
=
true
)
void
updateBatch
(
List
<
WFProcessDefinition
>
list
);
boolean
remove
(
String
key
);
@CacheEvict
(
value
=
"wfprocessdefinition"
,
allEntries
=
true
)
void
removeBatch
(
Collection
<
String
>
idList
);
WFProcessDefinition
get
(
String
key
);
WFProcessDefinition
getDraft
(
WFProcessDefinition
et
);
boolean
checkKey
(
WFProcessDefinition
et
);
boolean
save
(
WFProcessDefinition
et
);
@CacheEvict
(
value
=
"wfprocessdefinition"
,
allEntries
=
true
)
void
saveBatch
(
List
<
WFProcessDefinition
>
list
);
Page
<
WFProcessDefinition
>
searchDefault
(
WFProcessDefinitionSearchContext
context
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFProcessInstanceService.java
浏览文件 @
38f046f6
...
...
@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFProcessInstanceSearchContext;
/**
* 实体[WFProcessInstance] 服务对象接口
*/
public
interface
IWFProcessInstanceService
{
boolean
create
(
WFProcessInstance
et
)
;
void
createBatch
(
List
<
WFProcessInstance
>
list
)
;
boolean
update
(
WFProcessInstance
et
)
;
void
updateBatch
(
List
<
WFProcessInstance
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFProcessInstance
get
(
String
key
)
;
WFProcessInstance
getDraft
(
WFProcessInstance
et
)
;
boolean
checkKey
(
WFProcessInstance
et
)
;
boolean
save
(
WFProcessInstance
et
)
;
void
saveBatch
(
List
<
WFProcessInstance
>
list
)
;
Page
<
WFProcessInstance
>
searchDefault
(
WFProcessInstanceSearchContext
context
)
;
public
interface
IWFProcessInstanceService
{
boolean
create
(
WFProcessInstance
et
);
void
createBatch
(
List
<
WFProcessInstance
>
list
);
boolean
update
(
WFProcessInstance
et
);
void
updateBatch
(
List
<
WFProcessInstance
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFProcessInstance
get
(
String
key
);
WFProcessInstance
getDraft
(
WFProcessInstance
et
);
boolean
checkKey
(
WFProcessInstance
et
);
boolean
save
(
WFProcessInstance
et
);
void
saveBatch
(
List
<
WFProcessInstance
>
list
);
Page
<
WFProcessInstance
>
searchDefault
(
WFProcessInstanceSearchContext
context
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFProcessNodeService.java
浏览文件 @
38f046f6
...
...
@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFProcessNodeSearchContext;
/**
* 实体[WFProcessNode] 服务对象接口
*/
public
interface
IWFProcessNodeService
{
boolean
create
(
WFProcessNode
et
)
;
void
createBatch
(
List
<
WFProcessNode
>
list
)
;
boolean
update
(
WFProcessNode
et
)
;
void
updateBatch
(
List
<
WFProcessNode
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFProcessNode
get
(
String
key
)
;
WFProcessNode
getDraft
(
WFProcessNode
et
)
;
boolean
checkKey
(
WFProcessNode
et
)
;
boolean
save
(
WFProcessNode
et
)
;
void
saveBatch
(
List
<
WFProcessNode
>
list
)
;
Page
<
WFProcessNode
>
searchDefault
(
WFProcessNodeSearchContext
context
)
;
public
interface
IWFProcessNodeService
{
boolean
create
(
WFProcessNode
et
);
void
createBatch
(
List
<
WFProcessNode
>
list
);
boolean
update
(
WFProcessNode
et
);
void
updateBatch
(
List
<
WFProcessNode
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFProcessNode
get
(
String
key
);
WFProcessNode
getDraft
(
WFProcessNode
et
);
boolean
checkKey
(
WFProcessNode
et
);
boolean
save
(
WFProcessNode
et
);
void
saveBatch
(
List
<
WFProcessNode
>
list
);
Page
<
WFProcessNode
>
searchDefault
(
WFProcessNodeSearchContext
context
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFREModelService.java
浏览文件 @
38f046f6
...
...
@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFREModelSearchContext;
/**
* 实体[WFREModel] 服务对象接口
*/
public
interface
IWFREModelService
{
boolean
create
(
WFREModel
et
)
;
void
createBatch
(
List
<
WFREModel
>
list
)
;
boolean
update
(
WFREModel
et
)
;
void
updateBatch
(
List
<
WFREModel
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFREModel
get
(
String
key
)
;
WFREModel
getDraft
(
WFREModel
et
)
;
boolean
checkKey
(
WFREModel
et
)
;
boolean
save
(
WFREModel
et
)
;
void
saveBatch
(
List
<
WFREModel
>
list
)
;
Page
<
WFREModel
>
searchDefault
(
WFREModelSearchContext
context
)
;
public
interface
IWFREModelService
{
boolean
create
(
WFREModel
et
);
void
createBatch
(
List
<
WFREModel
>
list
);
boolean
update
(
WFREModel
et
);
void
updateBatch
(
List
<
WFREModel
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFREModel
get
(
String
key
);
WFREModel
getDraft
(
WFREModel
et
);
boolean
checkKey
(
WFREModel
et
);
boolean
save
(
WFREModel
et
);
void
saveBatch
(
List
<
WFREModel
>
list
);
Page
<
WFREModel
>
searchDefault
(
WFREModelSearchContext
context
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFSystemService.java
浏览文件 @
38f046f6
...
...
@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFSystem] 服务对象接口
*/
public
interface
IWFSystemService
extends
IService
<
WFSystem
>{
boolean
create
(
WFSystem
et
)
;
void
createBatch
(
List
<
WFSystem
>
list
)
;
boolean
update
(
WFSystem
et
)
;
void
updateBatch
(
List
<
WFSystem
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFSystem
get
(
String
key
)
;
WFSystem
getDraft
(
WFSystem
et
)
;
boolean
checkKey
(
WFSystem
et
)
;
boolean
save
(
WFSystem
et
)
;
void
saveBatch
(
List
<
WFSystem
>
list
)
;
Page
<
WFSystem
>
searchDefault
(
WFSystemSearchContext
context
)
;
public
interface
IWFSystemService
extends
IService
<
WFSystem
>
{
boolean
create
(
WFSystem
et
);
void
createBatch
(
List
<
WFSystem
>
list
);
boolean
update
(
WFSystem
et
);
void
updateBatch
(
List
<
WFSystem
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFSystem
get
(
String
key
);
WFSystem
getDraft
(
WFSystem
et
);
boolean
checkKey
(
WFSystem
et
);
boolean
save
(
WFSystem
et
);
void
saveBatch
(
List
<
WFSystem
>
list
);
Page
<
WFSystem
>
searchDefault
(
WFSystemSearchContext
context
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFTaskService.java
浏览文件 @
38f046f6
...
...
@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFTaskSearchContext;
/**
* 实体[WFTask] 服务对象接口
*/
public
interface
IWFTaskService
{
boolean
create
(
WFTask
et
)
;
void
createBatch
(
List
<
WFTask
>
list
)
;
boolean
update
(
WFTask
et
)
;
void
updateBatch
(
List
<
WFTask
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFTask
get
(
String
key
)
;
WFTask
getDraft
(
WFTask
et
)
;
boolean
checkKey
(
WFTask
et
)
;
boolean
save
(
WFTask
et
)
;
void
saveBatch
(
List
<
WFTask
>
list
)
;
Page
<
WFTask
>
searchDefault
(
WFTaskSearchContext
context
)
;
public
interface
IWFTaskService
{
boolean
create
(
WFTask
et
);
void
createBatch
(
List
<
WFTask
>
list
);
boolean
update
(
WFTask
et
);
void
updateBatch
(
List
<
WFTask
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFTask
get
(
String
key
);
WFTask
getDraft
(
WFTask
et
);
boolean
checkKey
(
WFTask
et
);
boolean
save
(
WFTask
et
);
void
saveBatch
(
List
<
WFTask
>
list
);
Page
<
WFTask
>
searchDefault
(
WFTaskSearchContext
context
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFTaskWayService.java
浏览文件 @
38f046f6
...
...
@@ -22,20 +22,20 @@ import cn.ibizlab.core.workflow.filter.WFTaskWaySearchContext;
/**
* 实体[WFTaskWay] 服务对象接口
*/
public
interface
IWFTaskWayService
{
boolean
create
(
WFTaskWay
et
)
;
void
createBatch
(
List
<
WFTaskWay
>
list
)
;
boolean
update
(
WFTaskWay
et
)
;
void
updateBatch
(
List
<
WFTaskWay
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFTaskWay
get
(
String
key
)
;
WFTaskWay
getDraft
(
WFTaskWay
et
)
;
boolean
checkKey
(
WFTaskWay
et
)
;
boolean
save
(
WFTaskWay
et
)
;
void
saveBatch
(
List
<
WFTaskWay
>
list
)
;
Page
<
WFTaskWay
>
searchDefault
(
WFTaskWaySearchContext
context
)
;
public
interface
IWFTaskWayService
{
boolean
create
(
WFTaskWay
et
);
void
createBatch
(
List
<
WFTaskWay
>
list
);
boolean
update
(
WFTaskWay
et
);
void
updateBatch
(
List
<
WFTaskWay
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFTaskWay
get
(
String
key
);
WFTaskWay
getDraft
(
WFTaskWay
et
);
boolean
checkKey
(
WFTaskWay
et
);
boolean
save
(
WFTaskWay
et
);
void
saveBatch
(
List
<
WFTaskWay
>
list
);
Page
<
WFTaskWay
>
searchDefault
(
WFTaskWaySearchContext
context
);
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/IWFUserService.java
浏览文件 @
38f046f6
...
...
@@ -23,20 +23,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[WFUser] 服务对象接口
*/
public
interface
IWFUserService
extends
IService
<
WFUser
>{
boolean
create
(
WFUser
et
)
;
void
createBatch
(
List
<
WFUser
>
list
)
;
boolean
update
(
WFUser
et
)
;
void
updateBatch
(
List
<
WFUser
>
list
)
;
boolean
remove
(
String
key
)
;
void
removeBatch
(
Collection
<
String
>
idList
)
;
WFUser
get
(
String
key
)
;
WFUser
getDraft
(
WFUser
et
)
;
boolean
checkKey
(
WFUser
et
)
;
boolean
save
(
WFUser
et
)
;
void
saveBatch
(
List
<
WFUser
>
list
)
;
Page
<
WFUser
>
searchDefault
(
WFUserSearchContext
context
)
;
public
interface
IWFUserService
extends
IService
<
WFUser
>
{
boolean
create
(
WFUser
et
);
void
createBatch
(
List
<
WFUser
>
list
);
boolean
update
(
WFUser
et
);
void
updateBatch
(
List
<
WFUser
>
list
);
boolean
remove
(
String
key
);
void
removeBatch
(
Collection
<
String
>
idList
);
WFUser
get
(
String
key
);
WFUser
getDraft
(
WFUser
et
);
boolean
checkKey
(
WFUser
et
);
boolean
save
(
WFUser
et
);
void
saveBatch
(
List
<
WFUser
>
list
);
Page
<
WFUser
>
searchDefault
(
WFUserSearchContext
context
);
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
...
...
@@ -52,8 +52,8 @@ public interface IWFUserService extends IService<WFUser>{
*/
boolean
execute
(
String
sql
,
Map
param
);
List
<
WFUser
>
getWfuserByIds
(
List
<
String
>
ids
)
;
List
<
WFUser
>
getWfuserByEntities
(
List
<
WFUser
>
entities
)
;
List
<
WFUser
>
getWfuserByIds
(
List
<
String
>
ids
);
List
<
WFUser
>
getWfuserByEntities
(
List
<
WFUser
>
entities
);
}
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFGroupServiceImpl.java
浏览文件 @
38f046f6
...
...
@@ -57,40 +57,42 @@ public class WFGroupServiceImpl extends ServiceImpl<WFGroupMapper, WFGroup> impl
@Override
@Transactional
public
boolean
create
(
WFGroup
et
)
{
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
{
return
false
;
wfmemberService
.
saveByGroupid
(
et
.
getId
(),
et
.
getWfmember
());
CachedBeanCopier
.
copy
(
get
(
et
.
getId
()),
et
);
}
wfmemberService
.
saveByGroupid
(
et
.
getId
(),
et
.
getWfmember
());
CachedBeanCopier
.
copy
(
get
(
et
.
getId
()),
et
);
return
true
;
}
@Override
@Transactional
public
void
createBatch
(
List
<
WFGroup
>
list
)
{
this
.
saveBatch
(
list
,
batchSize
);
this
.
saveBatch
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
update
(
WFGroup
et
)
{
if
(!
update
(
et
,(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"groupid"
,
et
.
getId
())))
if
(!
update
(
et
,
(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"groupid"
,
et
.
getId
())))
{
return
false
;
wfmemberService
.
saveByGroupid
(
et
.
getId
(),
et
.
getWfmember
());
CachedBeanCopier
.
copy
(
get
(
et
.
getId
()),
et
);
}
wfmemberService
.
saveByGroupid
(
et
.
getId
(),
et
.
getWfmember
());
CachedBeanCopier
.
copy
(
get
(
et
.
getId
()),
et
);
return
true
;
}
@Override
@Transactional
public
void
updateBatch
(
List
<
WFGroup
>
list
)
{
updateBatchById
(
list
,
batchSize
);
updateBatchById
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
remove
(
String
key
)
{
wfmemberService
.
removeByGroupid
(
key
)
;
boolean
result
=
removeById
(
key
);
boolean
result
=
removeById
(
key
);
return
result
;
}
...
...
@@ -104,11 +106,11 @@ public class WFGroupServiceImpl extends ServiceImpl<WFGroupMapper, WFGroup> impl
@Transactional
public
WFGroup
get
(
String
key
)
{
WFGroup
et
=
getById
(
key
);
if
(
et
==
null
){
et
=
new
WFGroup
();
if
(
et
==
null
){
et
=
new
WFGroup
();
et
.
setId
(
key
);
}
else
{
else
{
et
.
setWfmember
(
wfmemberService
.
selectByGroupid
(
key
));
}
return
et
;
...
...
@@ -121,13 +123,14 @@ public class WFGroupServiceImpl extends ServiceImpl<WFGroupMapper, WFGroup> impl
@Override
public
boolean
checkKey
(
WFGroup
et
)
{
return
(!
ObjectUtils
.
isEmpty
(
et
.
getId
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getId
())));
return
(!
ObjectUtils
.
isEmpty
(
et
.
getId
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getId
())));
}
@Override
@Transactional
public
boolean
save
(
WFGroup
et
)
{
if
(!
saveOrUpdate
(
et
))
if
(!
saveOrUpdate
(
et
))
{
return
false
;
}
return
true
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFMemberServiceImpl.java
浏览文件 @
38f046f6
...
...
@@ -61,9 +61,10 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Transactional
public
boolean
create
(
WFMember
et
)
{
fillParentData
(
et
);
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
{
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getMemberid
()),
et
);
}
CachedBeanCopier
.
copy
(
get
(
et
.
getMemberid
()),
et
);
return
true
;
}
...
...
@@ -78,9 +79,10 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Transactional
public
boolean
update
(
WFMember
et
)
{
fillParentData
(
et
);
if
(!
update
(
et
,(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"memberid"
,
et
.
getMemberid
())))
if
(!
update
(
et
,
(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"memberid"
,
et
.
getMemberid
())))
{
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getMemberid
()),
et
);
}
CachedBeanCopier
.
copy
(
get
(
et
.
getMemberid
()),
et
);
return
true
;
}
...
...
@@ -88,13 +90,13 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Transactional
public
void
updateBatch
(
List
<
WFMember
>
list
)
{
list
.
forEach
(
item
->
fillParentData
(
item
));
updateBatchById
(
list
,
batchSize
);
updateBatchById
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
remove
(
String
key
)
{
boolean
result
=
removeById
(
key
);
boolean
result
=
removeById
(
key
);
return
result
;
}
...
...
@@ -108,11 +110,11 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Transactional
public
WFMember
get
(
String
key
)
{
WFMember
et
=
getById
(
key
);
if
(
et
==
null
){
et
=
new
WFMember
();
if
(
et
==
null
){
et
=
new
WFMember
();
et
.
setMemberid
(
key
);
}
else
{
else
{
}
return
et
;
}
...
...
@@ -125,13 +127,14 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
@Override
public
boolean
checkKey
(
WFMember
et
)
{
return
(!
ObjectUtils
.
isEmpty
(
et
.
getMemberid
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getMemberid
())));
return
(!
ObjectUtils
.
isEmpty
(
et
.
getMemberid
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getMemberid
())));
}
@Override
@Transactional
public
boolean
save
(
WFMember
et
)
{
if
(!
saveOrUpdate
(
et
))
if
(!
saveOrUpdate
(
et
))
{
return
false
;
}
return
true
;
}
...
...
@@ -295,11 +298,13 @@ public class WFMemberServiceImpl extends ServiceImpl<WFMemberMapper, WFMember> i
ids
.
add
(
id
);
}
}
if
(
ids
.
size
()>
0
)
if
(
ids
.
size
()>
0
)
{
return
this
.
listByIds
(
ids
);
else
}
else
{
return
entities
;
}
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFProcessDefinitionServiceImpl.java
浏览文件 @
38f046f6
...
...
@@ -54,37 +54,39 @@ public class WFProcessDefinitionServiceImpl extends ServiceImpl<WFProcessDefinit
@Override
@Transactional
public
boolean
create
(
WFProcessDefinition
et
)
{
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
{
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getDefinitionkey
()),
et
);
}
CachedBeanCopier
.
copy
(
get
(
et
.
getDefinitionkey
()),
et
);
return
true
;
}
@Override
@Transactional
public
void
createBatch
(
List
<
WFProcessDefinition
>
list
)
{
this
.
saveBatch
(
list
,
batchSize
);
this
.
saveBatch
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
update
(
WFProcessDefinition
et
)
{
if
(!
update
(
et
,(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"definitionkey"
,
et
.
getDefinitionkey
())))
if
(!
update
(
et
,
(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"definitionkey"
,
et
.
getDefinitionkey
())))
{
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getDefinitionkey
()),
et
);
}
CachedBeanCopier
.
copy
(
get
(
et
.
getDefinitionkey
()),
et
);
return
true
;
}
@Override
@Transactional
public
void
updateBatch
(
List
<
WFProcessDefinition
>
list
)
{
updateBatchById
(
list
,
batchSize
);
updateBatchById
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
remove
(
String
key
)
{
boolean
result
=
removeById
(
key
);
boolean
result
=
removeById
(
key
);
return
result
;
}
...
...
@@ -98,11 +100,11 @@ public class WFProcessDefinitionServiceImpl extends ServiceImpl<WFProcessDefinit
@Transactional
public
WFProcessDefinition
get
(
String
key
)
{
WFProcessDefinition
et
=
getById
(
key
);
if
(
et
==
null
){
et
=
new
WFProcessDefinition
();
if
(
et
==
null
){
et
=
new
WFProcessDefinition
();
et
.
setDefinitionkey
(
key
);
}
else
{
else
{
}
return
et
;
}
...
...
@@ -114,13 +116,14 @@ public class WFProcessDefinitionServiceImpl extends ServiceImpl<WFProcessDefinit
@Override
public
boolean
checkKey
(
WFProcessDefinition
et
)
{
return
(!
ObjectUtils
.
isEmpty
(
et
.
getDefinitionkey
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getDefinitionkey
())));
return
(!
ObjectUtils
.
isEmpty
(
et
.
getDefinitionkey
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getDefinitionkey
())));
}
@Override
@Transactional
public
boolean
save
(
WFProcessDefinition
et
)
{
if
(!
saveOrUpdate
(
et
))
if
(!
saveOrUpdate
(
et
))
{
return
false
;
}
return
true
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFSystemServiceImpl.java
浏览文件 @
38f046f6
...
...
@@ -54,37 +54,39 @@ public class WFSystemServiceImpl extends ServiceImpl<WFSystemMapper, WFSystem> i
@Override
@Transactional
public
boolean
create
(
WFSystem
et
)
{
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
{
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getPssystemid
()),
et
);
}
CachedBeanCopier
.
copy
(
get
(
et
.
getPssystemid
()),
et
);
return
true
;
}
@Override
@Transactional
public
void
createBatch
(
List
<
WFSystem
>
list
)
{
this
.
saveBatch
(
list
,
batchSize
);
this
.
saveBatch
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
update
(
WFSystem
et
)
{
if
(!
update
(
et
,(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"pssystemid"
,
et
.
getPssystemid
())))
if
(!
update
(
et
,
(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"pssystemid"
,
et
.
getPssystemid
())))
{
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getPssystemid
()),
et
);
}
CachedBeanCopier
.
copy
(
get
(
et
.
getPssystemid
()),
et
);
return
true
;
}
@Override
@Transactional
public
void
updateBatch
(
List
<
WFSystem
>
list
)
{
updateBatchById
(
list
,
batchSize
);
updateBatchById
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
remove
(
String
key
)
{
boolean
result
=
removeById
(
key
);
boolean
result
=
removeById
(
key
);
return
result
;
}
...
...
@@ -98,11 +100,11 @@ public class WFSystemServiceImpl extends ServiceImpl<WFSystemMapper, WFSystem> i
@Transactional
public
WFSystem
get
(
String
key
)
{
WFSystem
et
=
getById
(
key
);
if
(
et
==
null
){
et
=
new
WFSystem
();
if
(
et
==
null
){
et
=
new
WFSystem
();
et
.
setPssystemid
(
key
);
}
else
{
else
{
}
return
et
;
}
...
...
@@ -114,13 +116,14 @@ public class WFSystemServiceImpl extends ServiceImpl<WFSystemMapper, WFSystem> i
@Override
public
boolean
checkKey
(
WFSystem
et
)
{
return
(!
ObjectUtils
.
isEmpty
(
et
.
getPssystemid
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getPssystemid
())));
return
(!
ObjectUtils
.
isEmpty
(
et
.
getPssystemid
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getPssystemid
())));
}
@Override
@Transactional
public
boolean
save
(
WFSystem
et
)
{
if
(!
saveOrUpdate
(
et
))
if
(!
saveOrUpdate
(
et
))
{
return
false
;
}
return
true
;
}
...
...
ibzwf-core/src/main/java/cn/ibizlab/core/workflow/service/impl/WFUserServiceImpl.java
浏览文件 @
38f046f6
...
...
@@ -57,37 +57,39 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
@Override
@Transactional
public
boolean
create
(
WFUser
et
)
{
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
if
(!
this
.
retBool
(
this
.
baseMapper
.
insert
(
et
)))
{
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getId
()),
et
);
}
CachedBeanCopier
.
copy
(
get
(
et
.
getId
()),
et
);
return
true
;
}
@Override
@Transactional
public
void
createBatch
(
List
<
WFUser
>
list
)
{
this
.
saveBatch
(
list
,
batchSize
);
this
.
saveBatch
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
update
(
WFUser
et
)
{
if
(!
update
(
et
,(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"userid"
,
et
.
getId
())))
if
(!
update
(
et
,
(
Wrapper
)
et
.
getUpdateWrapper
(
true
).
eq
(
"userid"
,
et
.
getId
())))
{
return
false
;
CachedBeanCopier
.
copy
(
get
(
et
.
getId
()),
et
);
}
CachedBeanCopier
.
copy
(
get
(
et
.
getId
()),
et
);
return
true
;
}
@Override
@Transactional
public
void
updateBatch
(
List
<
WFUser
>
list
)
{
updateBatchById
(
list
,
batchSize
);
updateBatchById
(
list
,
batchSize
);
}
@Override
@Transactional
public
boolean
remove
(
String
key
)
{
boolean
result
=
removeById
(
key
);
boolean
result
=
removeById
(
key
);
return
result
;
}
...
...
@@ -101,11 +103,11 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
@Transactional
public
WFUser
get
(
String
key
)
{
WFUser
et
=
getById
(
key
);
if
(
et
==
null
){
et
=
new
WFUser
();
if
(
et
==
null
){
et
=
new
WFUser
();
et
.
setId
(
key
);
}
else
{
else
{
}
return
et
;
}
...
...
@@ -117,13 +119,14 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
@Override
public
boolean
checkKey
(
WFUser
et
)
{
return
(!
ObjectUtils
.
isEmpty
(
et
.
getId
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getId
())));
return
(!
ObjectUtils
.
isEmpty
(
et
.
getId
()))
&&
(!
Objects
.
isNull
(
this
.
getById
(
et
.
getId
())));
}
@Override
@Transactional
public
boolean
save
(
WFUser
et
)
{
if
(!
saveOrUpdate
(
et
))
if
(!
saveOrUpdate
(
et
))
{
return
false
;
}
return
true
;
}
...
...
@@ -205,11 +208,13 @@ public class WFUserServiceImpl extends ServiceImpl<WFUserMapper, WFUser> impleme
ids
.
add
(
id
);
}
}
if
(
ids
.
size
()>
0
)
if
(
ids
.
size
()>
0
)
{
return
this
.
listByIds
(
ids
);
else
}
else
{
return
entities
;
}
}
...
...
ibzwf-dependencies/pom.xml
浏览文件 @
38f046f6
...
...
@@ -264,7 +264,6 @@
<version>
${baomidou-jobs.version}
</version>
</dependency>
</dependencies>
</dependencyManagement>
...
...
ibzwf-provider/ibzwf-provider-api/src/main/docker/Dockerfile
浏览文件 @
38f046f6
...
...
@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibzwf-provider-api.jar
EXPOSE
40003
EXPOSE
8081
ADD
ibzwf-provider-api.jar /ibzwf-provider-api.jar
ibzwf-provider/ibzwf-provider-api/src/main/docker/ibzwf-provider-api.yaml
浏览文件 @
38f046f6
...
...
@@ -3,22 +3,9 @@ services:
ibzwf-provider-api
:
image
:
registry.cn-shanghai.aliyuncs.com/ibizsys/ibzwf-provider-api:latest
ports
:
-
"
40003:40003
"
-
"
8081:8081
"
networks
:
-
agent_network
environment
:
-
SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
-
SERVER_PORT=40003
-
SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211:8848
-
SPRING_REDIS_HOST=172.16.100.243
-
SPRING_REDIS_PORT=6379
-
SPRING_REDIS_DATABASE=0
-
SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
-
SPRING_DATASOURCE_PASSWORD=@6dEfb3@
-
SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
-
SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
-
SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
-
NACOS=172.16.102.211:8848
deploy
:
resources
:
limits
:
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/mapping/WFGroupMapping.java
浏览文件 @
38f046f6
...
...
@@ -4,9 +4,8 @@ import org.mapstruct.*;
import
cn.ibizlab.core.workflow.domain.WFGroup
;
import
cn.ibizlab.api.dto.WFGroupDTO
;
import
cn.ibizlab.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFGroupMapping"
,
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFGroupMapping"
,
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
WFGroupMapping
extends
MappingBase
<
WFGroupDTO
,
WFGroup
>
{
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/mapping/WFMemberMapping.java
浏览文件 @
38f046f6
...
...
@@ -4,9 +4,8 @@ import org.mapstruct.*;
import
cn.ibizlab.core.workflow.domain.WFMember
;
import
cn.ibizlab.api.dto.WFMemberDTO
;
import
cn.ibizlab.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFMemberMapping"
,
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFMemberMapping"
,
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
WFMemberMapping
extends
MappingBase
<
WFMemberDTO
,
WFMember
>
{
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/mapping/WFProcessDefinitionMapping.java
浏览文件 @
38f046f6
...
...
@@ -4,9 +4,8 @@ import org.mapstruct.*;
import
cn.ibizlab.core.workflow.domain.WFProcessDefinition
;
import
cn.ibizlab.api.dto.WFProcessDefinitionDTO
;
import
cn.ibizlab.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFProcessDefinitionMapping"
,
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFProcessDefinitionMapping"
,
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
WFProcessDefinitionMapping
extends
MappingBase
<
WFProcessDefinitionDTO
,
WFProcessDefinition
>
{
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/mapping/WFREModelMapping.java
浏览文件 @
38f046f6
...
...
@@ -4,9 +4,8 @@ import org.mapstruct.*;
import
cn.ibizlab.core.workflow.domain.WFREModel
;
import
cn.ibizlab.api.dto.WFREModelDTO
;
import
cn.ibizlab.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFREModelMapping"
,
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFREModelMapping"
,
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
WFREModelMapping
extends
MappingBase
<
WFREModelDTO
,
WFREModel
>
{
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/mapping/WFSystemMapping.java
浏览文件 @
38f046f6
...
...
@@ -4,9 +4,8 @@ import org.mapstruct.*;
import
cn.ibizlab.core.workflow.domain.WFSystem
;
import
cn.ibizlab.api.dto.WFSystemDTO
;
import
cn.ibizlab.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFSystemMapping"
,
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFSystemMapping"
,
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
WFSystemMapping
extends
MappingBase
<
WFSystemDTO
,
WFSystem
>
{
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/mapping/WFTaskMapping.java
浏览文件 @
38f046f6
...
...
@@ -4,9 +4,8 @@ import org.mapstruct.*;
import
cn.ibizlab.core.workflow.domain.WFTask
;
import
cn.ibizlab.api.dto.WFTaskDTO
;
import
cn.ibizlab.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFTaskMapping"
,
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFTaskMapping"
,
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
WFTaskMapping
extends
MappingBase
<
WFTaskDTO
,
WFTask
>
{
...
...
ibzwf-provider/ibzwf-provider-api/src/main/java/cn/ibizlab/api/mapping/WFUserMapping.java
浏览文件 @
38f046f6
...
...
@@ -4,9 +4,8 @@ import org.mapstruct.*;
import
cn.ibizlab.core.workflow.domain.WFUser
;
import
cn.ibizlab.api.dto.WFUserDTO
;
import
cn.ibizlab.util.domain.MappingBase
;
import
org.mapstruct.factory.Mappers
;
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFUserMapping"
,
@Mapper
(
componentModel
=
"spring"
,
uses
=
{},
implementationName
=
"apiWFUserMapping"
,
nullValuePropertyMappingStrategy
=
NullValuePropertyMappingStrategy
.
IGNORE
,
nullValueCheckStrategy
=
NullValueCheckStrategy
.
ALWAYS
)
public
interface
WFUserMapping
extends
MappingBase
<
WFUserDTO
,
WFUser
>
{
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/aspect/AuditAspect.java
浏览文件 @
38f046f6
...
...
@@ -43,30 +43,31 @@ public class AuditAspect
*/
@AfterReturning
(
value
=
"execution(* cn.ibizlab.core.*.service.*.create(..))"
)
@SneakyThrows
public
void
create
(
JoinPoint
point
){
HttpServletRequest
request
=
null
;
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
if
(
requestAttributes
!=
null
){
request
=
((
ServletRequestAttributes
)
requestAttributes
).
getRequest
();
public
void
create
(
JoinPoint
point
)
{
HttpServletRequest
request
=
null
;
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
if
(
requestAttributes
!=
null
)
{
request
=
((
ServletRequestAttributes
)
requestAttributes
).
getRequest
();
}
Object
[]
args
=
point
.
getArgs
();
if
(
ObjectUtils
.
isEmpty
(
args
)
||
args
.
length
==
0
)
if
(
ObjectUtils
.
isEmpty
(
args
)
||
args
.
length
==
0
)
{
return
;
Object
serviceParam
=
args
[
0
];
if
(
serviceParam
instanceof
EntityBase
){
EntityBase
entity
=(
EntityBase
)
serviceParam
;
//创建数据
Map
<
String
,
Audit
>
auditFields
=
DEFieldCacheMap
.
getAuditFields
(
entity
.
getClass
());
if
(
auditFields
.
size
()==
0
)
//是否有审计属性
}
Object
serviceParam
=
args
[
0
];
if
(
serviceParam
instanceof
EntityBase
)
{
EntityBase
entity
=
(
EntityBase
)
serviceParam
;
Map
<
String
,
Audit
>
auditFields
=
DEFieldCacheMap
.
getAuditFields
(
entity
.
getClass
());
//是否有审计属性
if
(
auditFields
.
size
()==
0
)
{
return
;
String
idField
=
DEFieldCacheMap
.
getDEKeyField
(
entity
.
getClass
());
Object
idValue
=
""
;
if
(!
StringUtils
.
isEmpty
(
idField
)){
}
String
idField
=
DEFieldCacheMap
.
getDEKeyField
(
entity
.
getClass
());
Object
idValue
=
""
;
if
(!
StringUtils
.
isEmpty
(
idField
))
{
idValue
=
entity
.
get
(
idField
);
}
//记录审计日志
dataAuditService
.
createAudit
(
request
,
entity
,
idValue
,
auditFields
);
dataAuditService
.
createAudit
(
request
,
entity
,
idValue
,
auditFields
);
}
}
...
...
@@ -77,39 +78,38 @@ public class AuditAspect
*/
@Around
(
"execution(* cn.ibizlab.core.*.service.*.update(..))"
)
public
Object
update
(
ProceedingJoinPoint
point
)
throws
Throwable
{
HttpServletRequest
request
=
null
;
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
if
(
requestAttributes
!=
null
){
HttpServletRequest
request
=
null
;
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
if
(
requestAttributes
!=
null
)
{
request
=((
ServletRequestAttributes
)
requestAttributes
).
getRequest
();
}
Object
serviceObj
=
point
.
getTarget
();
Object
args
[]=
point
.
getArgs
();
if
(
ObjectUtils
.
isEmpty
(
args
)
||
args
.
length
==
0
)
Object
serviceObj
=
point
.
getTarget
();
Object
args
[]
=
point
.
getArgs
();
if
(
ObjectUtils
.
isEmpty
(
args
)
||
args
.
length
==
0
)
{
return
point
.
proceed
();
Object
arg
=
args
[
0
];
if
(
arg
instanceof
EntityBase
){
EntityBase
entity
=
(
EntityBase
)
arg
;
Map
<
String
,
Audit
>
auditFields
=
DEFieldCacheMap
.
getAuditFields
(
entity
.
getClass
());
}
Object
arg
=
args
[
0
];
if
(
arg
instanceof
EntityBase
)
{
EntityBase
entity
=
(
EntityBase
)
arg
;
Map
<
String
,
Audit
>
auditFields
=
DEFieldCacheMap
.
getAuditFields
(
entity
.
getClass
());
//是否有审计属性
if
(
auditFields
.
size
()==
0
)
if
(
auditFields
.
size
()==
0
)
{
return
point
.
proceed
();
String
idField
=
DEFieldCacheMap
.
getDEKeyField
(
entity
.
getClass
());
Object
idValue
=
""
;
}
String
idField
=
DEFieldCacheMap
.
getDEKeyField
(
entity
.
getClass
());
Object
idValue
=
""
;
if
(!
StringUtils
.
isEmpty
(
idField
)){
idValue
=
entity
.
get
(
idField
);
idValue
=
entity
.
get
(
idField
);
}
if
(
ObjectUtils
.
isEmpty
(
idValue
))
if
(
ObjectUtils
.
isEmpty
(
idValue
))
{
return
point
.
proceed
();
}
//获取更新前实体
EntityBase
beforeEntity
=
getEntity
(
serviceObj
,
idValue
);
EntityBase
beforeEntity
=
getEntity
(
serviceObj
,
idValue
);
//执行更新操作
point
.
proceed
();
//记录审计日志
dataAuditService
.
updateAudit
(
request
,
beforeEntity
,
serviceObj
,
idValue
,
auditFields
);
dataAuditService
.
updateAudit
(
request
,
beforeEntity
,
serviceObj
,
idValue
,
auditFields
);
return
true
;
}
return
point
.
proceed
();
...
...
@@ -124,28 +124,27 @@ public class AuditAspect
*/
@Around
(
"execution(* cn.ibizlab.core.*.service.*.remove(..))"
)
public
Object
remove
(
ProceedingJoinPoint
point
)
throws
Throwable
{
HttpServletRequest
request
=
null
;
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
if
(
requestAttributes
!=
null
)
{
request
=
((
ServletRequestAttributes
)
requestAttributes
).
getRequest
();
HttpServletRequest
request
=
null
;
RequestAttributes
requestAttributes
=
RequestContextHolder
.
getRequestAttributes
();
if
(
requestAttributes
!=
null
)
{
request
=
((
ServletRequestAttributes
)
requestAttributes
).
getRequest
();
}
Object
serviceObj
=
point
.
getTarget
();
Object
args
[]=
point
.
getArgs
();
if
(
ObjectUtils
.
isEmpty
(
args
)
||
args
.
length
==
0
)
Object
serviceObj
=
point
.
getTarget
();
Object
args
[]
=
point
.
getArgs
();
if
(
ObjectUtils
.
isEmpty
(
args
)
||
args
.
length
==
0
)
{
return
point
.
proceed
();
Object
idValue
=
args
[
0
];
EntityBase
entity
=
getEntity
(
serviceObj
,
idValue
);
Map
<
String
,
Audit
>
auditFields
=
DEFieldCacheMap
.
getAuditFields
(
entity
.
getClass
());
if
(
auditFields
.
size
()==
0
){
}
Object
idValue
=
args
[
0
];
EntityBase
entity
=
getEntity
(
serviceObj
,
idValue
);
Map
<
String
,
Audit
>
auditFields
=
DEFieldCacheMap
.
getAuditFields
(
entity
.
getClass
());
if
(
auditFields
.
size
()==
0
)
{
return
point
.
proceed
();
}
else
{
//执行删除操作
point
.
proceed
();
//记录审计日志
dataAuditService
.
removeAudit
(
request
,
entity
,
idValue
,
auditFields
);
dataAuditService
.
removeAudit
(
request
,
entity
,
idValue
,
auditFields
);
return
true
;
}
}
...
...
@@ -157,12 +156,12 @@ public class AuditAspect
* @return
*/
@SneakyThrows
private
EntityBase
getEntity
(
Object
service
,
Object
id
){
EntityBase
entity
=
null
;
if
(!
ObjectUtils
.
isEmpty
(
service
)){
private
EntityBase
getEntity
(
Object
service
,
Object
id
)
{
EntityBase
entity
=
null
;
if
(!
ObjectUtils
.
isEmpty
(
service
))
{
EvaluationContext
oldContext
=
new
StandardEvaluationContext
();
oldContext
.
setVariable
(
"service"
,
service
);
oldContext
.
setVariable
(
"id"
,
id
);
oldContext
.
setVariable
(
"service"
,
service
);
oldContext
.
setVariable
(
"id"
,
id
);
Expression
oldExp
=
parser
.
parseExpression
(
"#service.get(#id)"
);
return
oldExp
.
getValue
(
oldContext
,
EntityBase
.
class
);
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/aspect/DEFieldDefaultValueAspect.java
浏览文件 @
38f046f6
...
...
@@ -79,29 +79,31 @@ public class DEFieldDefaultValueAspect
Object
[]
args
=
joinPoint
.
getArgs
();
if
(
args
.
length
>
0
)
{
Object
obj
=
args
[
0
];
String
actionName
=
joinPoint
.
getSignature
().
getName
();
String
actionName
=
joinPoint
.
getSignature
().
getName
();
if
(
obj
instanceof
EntityBase
)
{
Map
<
String
,
DEField
>
deFields
=
DEFieldCacheMap
.
getDEFields
(
obj
.
getClass
());
AuthenticationUser
curUser
=
AuthenticationUser
.
getAuthenticationUser
();
String
keyField
=
DEFieldCacheMap
.
getDEKeyField
(
obj
.
getClass
());
if
(
StringUtils
.
isEmpty
(
keyField
))
String
keyField
=
DEFieldCacheMap
.
getDEKeyField
(
obj
.
getClass
());
if
(
StringUtils
.
isEmpty
(
keyField
))
{
return
true
;
fillDEField
((
EntityBase
)
obj
,
deFields
,
actionName
,
curUser
,
keyField
);
}
fillDEField
((
EntityBase
)
obj
,
deFields
,
actionName
,
curUser
,
keyField
);
}
else
if
(
obj
instanceof
List
)
{
Map
<
String
,
DEField
>
deFields
=
null
;
AuthenticationUser
curUser
=
null
;
String
keyField
=
""
;
for
(
Object
item
:
(
List
)
obj
)
{
for
(
Object
item
:
(
List
)
obj
)
{
if
(
item
instanceof
EntityBase
)
{
if
(
deFields
==
null
)
{
if
(
deFields
==
null
)
{
deFields
=
DEFieldCacheMap
.
getDEFields
(
item
.
getClass
());
curUser
=
AuthenticationUser
.
getAuthenticationUser
();
keyField
=
DEFieldCacheMap
.
getDEKeyField
(
item
.
getClass
());
if
(
StringUtils
.
isEmpty
(
keyField
))
keyField
=
DEFieldCacheMap
.
getDEKeyField
(
item
.
getClass
());
if
(
StringUtils
.
isEmpty
(
keyField
))
{
return
true
;
}
fillDEField
((
EntityBase
)
item
,
deFields
,
actionName
,
curUser
,
keyField
);
}
fillDEField
((
EntityBase
)
item
,
deFields
,
actionName
,
curUser
,
keyField
);
}
}
}
...
...
@@ -115,15 +117,15 @@ public class DEFieldDefaultValueAspect
* 填充系统预置属性
* @param et 当前实体对象
*/
private
void
fillDEField
(
EntityBase
et
,
Map
<
String
,
DEField
>
deFields
,
String
actionName
,
AuthenticationUser
curUser
,
String
keyField
)
throws
Exception
{
if
(
deFields
.
size
()==
0
)
return
;
private
void
fillDEField
(
EntityBase
et
,
Map
<
String
,
DEField
>
deFields
,
String
actionName
,
AuthenticationUser
curUser
,
String
keyField
)
throws
Exception
{
if
(
deFields
.
size
()==
0
)
{
return
;
}
if
(
actionName
.
toLowerCase
().
startsWith
(
"save"
))
{
if
(
ObjectUtils
.
isEmpty
(
et
.
get
(
keyField
)))
if
(
ObjectUtils
.
isEmpty
(
et
.
get
(
keyField
)))
{
actionName
=
"create"
;
}
}
for
(
Map
.
Entry
<
String
,
DEField
>
entry
:
deFields
.
entrySet
())
{
String
fieldname
=
entry
.
getKey
();
//获取注解
...
...
@@ -136,12 +138,12 @@ public class DEFieldDefaultValueAspect
DEPredefinedFieldType
predefinedFieldType
=
fieldAnnotation
.
preType
();
//填充系统默认值
if
(
actionName
.
toLowerCase
().
startsWith
(
"create"
)
&&
(
deFieldType
!=
DEFieldDefaultValueType
.
NONE
||
(!
StringUtils
.
isEmpty
(
deFieldDefaultValue
))
))
{
if
(
actionName
.
toLowerCase
().
startsWith
(
"create"
)
&&
(
deFieldType
!=
DEFieldDefaultValueType
.
NONE
||
(!
StringUtils
.
isEmpty
(
deFieldDefaultValue
))))
{
fillFieldDefaultValue
(
fieldname
,
deFieldType
,
deFieldDefaultValue
,
et
,
curUser
)
;
}
//填充系统预置属性
if
(
predefinedFieldType
!=
DEPredefinedFieldType
.
NONE
){
fillPreFieldValue
(
fieldname
,
predefinedFieldType
,
et
,
actionName
,
fieldAnnotation
.
logicval
(),
curUser
);
if
(
predefinedFieldType
!=
DEPredefinedFieldType
.
NONE
)
{
fillPreFieldValue
(
fieldname
,
predefinedFieldType
,
et
,
actionName
,
fieldAnnotation
.
logicval
(),
curUser
);
}
}
}
...
...
@@ -154,17 +156,17 @@ public class DEFieldDefaultValueAspect
* @param et 当前实体对象
* @throws Exception
*/
private
void
fillFieldDefaultValue
(
String
fieldname
,
DEFieldDefaultValueType
deFieldType
,
String
deFieldDefaultValue
,
EntityBase
et
,
AuthenticationUser
curUser
)
throws
Exception
{
private
void
fillFieldDefaultValue
(
String
fieldname
,
DEFieldDefaultValueType
deFieldType
,
String
deFieldDefaultValue
,
EntityBase
et
,
AuthenticationUser
curUser
)
throws
Exception
{
Object
fieldValue
=
et
.
get
(
fieldname
);
if
(
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
fieldValue
)){
if
(
org
.
springframework
.
util
.
ObjectUtils
.
isEmpty
(
fieldValue
))
{
//填充直接值及其余默认值类型
if
(
(
deFieldType
==
DEFieldDefaultValueType
.
NONE
&&
!
StringUtils
.
isEmpty
(
deFieldDefaultValue
))
||
(
deFieldType
!=
DEFieldDefaultValueType
.
NONE
)
)
{
switch
(
deFieldType
){
if
(
(
deFieldType
==
DEFieldDefaultValueType
.
NONE
&&
!
StringUtils
.
isEmpty
(
deFieldDefaultValue
))
||
(
deFieldType
!=
DEFieldDefaultValueType
.
NONE
))
{
switch
(
deFieldType
)
{
case
SESSION:
if
(!
StringUtils
.
isEmpty
(
deFieldDefaultValue
)){
if
(!
StringUtils
.
isEmpty
(
deFieldDefaultValue
))
{
Object
sessionFieldValue
=
curUser
.
getSessionParams
().
get
(
deFieldDefaultValue
.
toLowerCase
());
if
(!
ObjectUtils
.
isEmpty
(
sessionFieldValue
)){
et
.
set
(
fieldname
,
sessionFieldValue
);
if
(!
ObjectUtils
.
isEmpty
(
sessionFieldValue
))
{
et
.
set
(
fieldname
,
sessionFieldValue
);
}
}
break
;
...
...
@@ -172,91 +174,95 @@ public class DEFieldDefaultValueAspect
//暂未实现
break
;
case
UNIQUEID:
et
.
set
(
fieldname
,(
new
AlternativeJdkIdGenerator
()).
generateId
().
toString
().
replace
(
"-"
,
""
));
et
.
set
(
fieldname
,
(
new
AlternativeJdkIdGenerator
()).
generateId
().
toString
().
replace
(
"-"
,
""
));
break
;
case
CONTEXT:
if
(!
StringUtils
.
isEmpty
(
deFieldDefaultValue
)){
if
(!
StringUtils
.
isEmpty
(
deFieldDefaultValue
))
{
Object
paramFieldValue
=
et
.
get
(
deFieldDefaultValue
);
if
(!
ObjectUtils
.
isEmpty
(
paramFieldValue
)){
et
.
set
(
fieldname
,
paramFieldValue
);
if
(!
ObjectUtils
.
isEmpty
(
paramFieldValue
))
{
et
.
set
(
fieldname
,
paramFieldValue
);
}
}
break
;
case
PARAM:
if
(!
StringUtils
.
isEmpty
(
deFieldDefaultValue
)){
if
(!
StringUtils
.
isEmpty
(
deFieldDefaultValue
))
{
Object
paramFieldValue
=
et
.
get
(
deFieldDefaultValue
);
if
(!
ObjectUtils
.
isEmpty
(
paramFieldValue
)){
et
.
set
(
fieldname
,
paramFieldValue
);
if
(!
ObjectUtils
.
isEmpty
(
paramFieldValue
))
{
et
.
set
(
fieldname
,
paramFieldValue
);
}
}
break
;
case
OPERATOR:
et
.
set
(
fieldname
,
curUser
.
getUserid
());
et
.
set
(
fieldname
,
curUser
.
getUserid
());
break
;
case
OPERATORNAME:
et
.
set
(
fieldname
,
curUser
.
getPersonname
());
et
.
set
(
fieldname
,
curUser
.
getPersonname
());
break
;
case
CURTIME:
et
.
set
(
fieldname
,
new
Timestamp
(
new
Date
().
getTime
()));
et
.
set
(
fieldname
,
new
Timestamp
(
new
Date
().
getTime
()));
break
;
case
APPDATA:
//暂未实现
break
;
case
NONE:
et
.
set
(
fieldname
,
deFieldDefaultValue
);
et
.
set
(
fieldname
,
deFieldDefaultValue
);
break
;
}
}
}
}
private
void
fillPreFieldValue
(
String
fieldname
,
DEPredefinedFieldType
preFieldType
,
EntityBase
et
,
String
actionName
,
String
logicValue
,
AuthenticationUser
curUser
)
throws
Exception
{
private
void
fillPreFieldValue
(
String
fieldname
,
DEPredefinedFieldType
preFieldType
,
EntityBase
et
,
String
actionName
,
String
logicValue
,
AuthenticationUser
curUser
)
throws
Exception
{
Object
fieldValue
=
et
.
get
(
fieldname
);
//为预置属性进行赋值
if
(
actionName
.
toLowerCase
().
startsWith
(
"create"
)
||
if
(
actionName
.
toLowerCase
().
startsWith
(
"create"
)
||
preFieldType
==
DEPredefinedFieldType
.
UPDATEDATE
||
preFieldType
==
DEPredefinedFieldType
.
UPDATEMAN
||
preFieldType
==
DEPredefinedFieldType
.
UPDATEMANNAME
){
preFieldType
==
DEPredefinedFieldType
.
UPDATEMANNAME
)
{
switch
(
preFieldType
)
{
//根据注解给预置属性填充值
switch
(
preFieldType
)
{
case
CREATEMAN:
et
.
set
(
fieldname
,
curUser
.
getUserid
());
et
.
set
(
fieldname
,
curUser
.
getUserid
());
break
;
case
CREATEMANNAME:
et
.
set
(
fieldname
,
curUser
.
getPersonname
());
et
.
set
(
fieldname
,
curUser
.
getPersonname
());
break
;
case
UPDATEMAN:
et
.
set
(
fieldname
,
curUser
.
getUserid
());
et
.
set
(
fieldname
,
curUser
.
getUserid
());
break
;
case
UPDATEMANNAME:
et
.
set
(
fieldname
,
curUser
.
getPersonname
());
et
.
set
(
fieldname
,
curUser
.
getPersonname
());
break
;
case
CREATEDATE:
et
.
set
(
fieldname
,
new
Timestamp
(
new
Date
().
getTime
()));
et
.
set
(
fieldname
,
new
Timestamp
(
new
Date
().
getTime
()));
break
;
case
UPDATEDATE:
et
.
set
(
fieldname
,
new
Timestamp
(
new
Date
().
getTime
()));
et
.
set
(
fieldname
,
new
Timestamp
(
new
Date
().
getTime
()));
break
;
case
ORGID:
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
fieldValue
))
et
.
set
(
fieldname
,
curUser
.
getOrgid
());
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
fieldValue
))
{
et
.
set
(
fieldname
,
curUser
.
getOrgid
());
}
break
;
case
ORGNAME:
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
fieldValue
))
et
.
set
(
fieldname
,
curUser
.
getOrgname
());
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
fieldValue
))
{
et
.
set
(
fieldname
,
curUser
.
getOrgname
());
}
break
;
case
ORGSECTORID:
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
fieldValue
))
et
.
set
(
fieldname
,
curUser
.
getMdeptid
());
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
fieldValue
))
{
et
.
set
(
fieldname
,
curUser
.
getMdeptid
());
}
break
;
case
ORGSECTORNAME:
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
fieldValue
))
et
.
set
(
fieldname
,
curUser
.
getMdeptname
());
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
fieldValue
))
{
et
.
set
(
fieldname
,
curUser
.
getMdeptname
());
}
break
;
case
LOGICVALID:
if
(
StringUtils
.
isEmpty
(
logicValue
)){
if
(
StringUtils
.
isEmpty
(
logicValue
))
{
logicValue
=
"1"
;
}
et
.
set
(
fieldname
,
logicValue
);
et
.
set
(
fieldname
,
logicValue
);
break
;
}
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/aspect/VersionCheckAspect.java
浏览文件 @
38f046f6
...
...
@@ -32,55 +32,62 @@ import java.util.Map;
public
class
VersionCheckAspect
{
private
final
ExpressionParser
parser
=
new
SpelExpressionParser
();
private
final
String
IgnoreField
=
"ignoreversioncheck"
;
private
final
String
IgnoreField
=
"ignoreversioncheck"
;
@SneakyThrows
@Before
(
"execution(* cn.ibizlab.*.rest.*.update(..)) && @annotation(versionCheck)"
)
public
void
BeforeUpdate
(
JoinPoint
point
,
VersionCheck
versionCheck
){
public
void
BeforeUpdate
(
JoinPoint
point
,
VersionCheck
versionCheck
)
{
Object
[]
args
=
point
.
getArgs
();
Object
id
=
args
[
0
];
Object
dto
=
args
[
1
];
if
(
ObjectUtils
.
isEmpty
(
id
)
||
ObjectUtils
.
isEmpty
(
dto
))
Object
id
=
args
[
0
];
Object
dto
=
args
[
1
];
if
(
ObjectUtils
.
isEmpty
(
id
)
||
ObjectUtils
.
isEmpty
(
dto
))
{
return
;
String
versionField
=
versionCheck
.
versionfield
();
if
(
StringUtils
.
isEmpty
(
versionField
))
}
String
versionField
=
versionCheck
.
versionfield
();
if
(
StringUtils
.
isEmpty
(
versionField
))
{
return
;
versionCheck
(
versionCheck
,
point
.
getTarget
(),
dto
,
id
);
}
versionCheck
(
versionCheck
,
point
.
getTarget
(),
dto
,
id
);
}
@SneakyThrows
@Before
(
"execution(* cn.ibizlab.*.rest.*.updateBy*(..)) && @annotation(versionCheck)"
)
public
void
BeforeUpdateBy
(
JoinPoint
point
,
VersionCheck
versionCheck
){
public
void
BeforeUpdateBy
(
JoinPoint
point
,
VersionCheck
versionCheck
)
{
Object
[]
args
=
point
.
getArgs
();
if
(
args
.
length
>=
2
){
Object
id
=
args
[
args
.
length
-
2
];
Object
dto
=
args
[
args
.
length
-
1
];
if
(
ObjectUtils
.
isEmpty
(
id
)
||
ObjectUtils
.
isEmpty
(
dto
))
if
(
args
.
length
>=
2
)
{
Object
id
=
args
[
args
.
length
-
2
];
Object
dto
=
args
[
args
.
length
-
1
];
if
(
ObjectUtils
.
isEmpty
(
id
)
||
ObjectUtils
.
isEmpty
(
dto
))
{
return
;
String
versionField
=
versionCheck
.
versionfield
();
if
(
StringUtils
.
isEmpty
(
versionField
))
}
String
versionField
=
versionCheck
.
versionfield
();
if
(
StringUtils
.
isEmpty
(
versionField
))
{
return
;
versionCheck
(
versionCheck
,
point
.
getTarget
(),
dto
,
id
);
}
versionCheck
(
versionCheck
,
point
.
getTarget
(),
dto
,
id
);
}
}
private
void
versionCheck
(
VersionCheck
versionCheck
,
Object
resource
,
Object
dto
,
Object
id
)
{
private
void
versionCheck
(
VersionCheck
versionCheck
,
Object
resource
,
Object
dto
,
Object
id
)
{
EvaluationContext
context
=
new
StandardEvaluationContext
();
context
.
setVariable
(
"dto"
,
dto
);
context
.
setVariable
(
"dto"
,
dto
);
//忽略版本检查
Expression
dtoParamsExp
=
parser
.
parseExpression
(
"#dto.extensionparams"
);
Map
dtoParam
=
dtoParamsExp
.
getValue
(
context
,
Map
.
class
);
if
(!
ObjectUtils
.
isEmpty
(
dtoParam
)
&&
!
ObjectUtils
.
isEmpty
(
dtoParam
.
get
(
IgnoreField
))
&&
dtoParam
.
get
(
IgnoreField
).
equals
(
1
))
Map
dtoParam
=
dtoParamsExp
.
getValue
(
context
,
Map
.
class
);
if
(!
ObjectUtils
.
isEmpty
(
dtoParam
)
&&
!
ObjectUtils
.
isEmpty
(
dtoParam
.
get
(
IgnoreField
))
&&
dtoParam
.
get
(
IgnoreField
).
equals
(
1
))
{
return
;
Expression
newExp
=
parser
.
parseExpression
(
String
.
format
(
"#dto.%s"
,
versionCheck
.
versionfield
()));
Object
newVersion
=
newExp
.
getValue
(
context
);
if
(
ObjectUtils
.
isEmpty
(
newVersion
))
}
Expression
newExp
=
parser
.
parseExpression
(
String
.
format
(
"#dto.%s"
,
versionCheck
.
versionfield
()));
Object
newVersion
=
newExp
.
getValue
(
context
);
if
(
ObjectUtils
.
isEmpty
(
newVersion
))
{
return
;
}
//进行版本检查
Object
oldVersion
=
getDBVersion
(
versionCheck
,
getService
(
resource
,
versionCheck
.
entity
()),
id
);
if
(!
ObjectUtils
.
isEmpty
(
oldVersion
)){
if
(
RuleUtils
.
gt
(
newVersion
,
oldVersion
))
throw
new
BadRequestAlertException
(
"数据已变更,可能后台数据已被修改,请重新加载数据"
,
"VersionCheckAspect"
,
"versionCheck"
);
Object
oldVersion
=
getDBVersion
(
versionCheck
,
getService
(
resource
,
versionCheck
.
entity
()),
id
);
if
(!
ObjectUtils
.
isEmpty
(
oldVersion
))
{
if
(
RuleUtils
.
gt
(
newVersion
,
oldVersion
))
{
throw
new
BadRequestAlertException
(
"数据已变更,可能后台数据已被修改,请重新加载数据"
,
"VersionCheckAspect"
,
"versionCheck"
);
}
}
}
...
...
@@ -91,12 +98,12 @@ public class VersionCheckAspect
* @return
*/
@SneakyThrows
private
Object
getService
(
Object
resource
,
String
entity
)
{
private
Object
getService
(
Object
resource
,
String
entity
)
{
Object
service
=
null
;
Field
[]
fields
=
resource
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
){
if
(
field
.
getModifiers
()==
1
&&
field
.
getName
().
equalsIgnoreCase
(
String
.
format
(
"%sService"
,
entity
))){
service
=
field
.
get
(
resource
);
Field
[]
fields
=
resource
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
if
(
field
.
getModifiers
()==
1
&&
field
.
getName
().
equalsIgnoreCase
(
String
.
format
(
"%sService"
,
entity
)))
{
service
=
field
.
get
(
resource
);
break
;
}
}
...
...
@@ -111,21 +118,21 @@ public class VersionCheckAspect
* @return
*/
@SneakyThrows
private
Object
getDBVersion
(
VersionCheck
versionCheck
,
Object
service
,
Object
id
)
{
private
Object
getDBVersion
(
VersionCheck
versionCheck
,
Object
service
,
Object
id
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Timestamp
dbVersion
=
null
;
String
versionField
=
versionCheck
.
versionfield
();
if
(!
ObjectUtils
.
isEmpty
(
service
)){
Timestamp
dbVersion
=
null
;
String
versionField
=
versionCheck
.
versionfield
();
if
(!
ObjectUtils
.
isEmpty
(
service
))
{
EvaluationContext
oldContext
=
new
StandardEvaluationContext
();
oldContext
.
setVariable
(
"service"
,
service
);
oldContext
.
setVariable
(
"id"
,
id
);
oldContext
.
setVariable
(
"service"
,
service
);
oldContext
.
setVariable
(
"id"
,
id
);
Expression
oldExp
=
parser
.
parseExpression
(
"#service.get(#id)"
);
EntityBase
oldEntity
=
oldExp
.
getValue
(
oldContext
,
EntityBase
.
class
);
Object
oldDate
=
oldEntity
.
get
(
versionField
);
if
(
oldDate
!=
null
&&
oldDate
instanceof
Timestamp
){
Timestamp
db_time
=
(
Timestamp
)
oldDate
;
EntityBase
oldEntity
=
oldExp
.
getValue
(
oldContext
,
EntityBase
.
class
);
Object
oldDate
=
oldEntity
.
get
(
versionField
);
if
(
oldDate
!=
null
&&
oldDate
instanceof
Timestamp
)
{
Timestamp
db_time
=
(
Timestamp
)
oldDate
;
Date
db_date
=
sdf
.
parse
(
sdf
.
format
(
db_time
));
dbVersion
=
new
Timestamp
(
db_date
.
getTime
());
dbVersion
=
new
Timestamp
(
db_date
.
getTime
());
}
}
return
dbVersion
;
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/domain/DTOBase.java
浏览文件 @
38f046f6
...
...
@@ -21,33 +21,39 @@ public class DTOBase implements Serializable {
public
void
modify
(
String
field
,
Object
val
)
{
if
(
val
==
null
)
if
(
val
==
null
)
{
this
.
getFocusNull
(
true
).
add
(
field
.
toLowerCase
());
else
}
else
{
this
.
getFocusNull
(
true
).
remove
(
field
.
toLowerCase
());
}
}
public
Set
<
String
>
getFocusNull
()
{
if
(
focusNull
==
null
)
if
(
focusNull
==
null
)
{
focusNull
=
new
HashSet
<>();
}
if
(
focusNull
.
size
()>
0
&&
extensionparams
.
containsKey
(
"dirtyflagenable"
))
{
Set
<
String
>
nocheck
=
new
HashSet
<>();
for
(
String
key:
focusNull
)
{
if
(!
extensionparams
.
containsKey
(
key
+
"dirtyflag"
))
if
(!
extensionparams
.
containsKey
(
key
+
"dirtyflag"
))
{
nocheck
.
add
(
key
);
}
for
(
String
key:
nocheck
)
}
for
(
String
key:
nocheck
)
{
focusNull
.
remove
(
key
);
}
}
return
focusNull
;
}
private
Set
<
String
>
getFocusNull
(
boolean
newflag
)
{
if
(
focusNull
==
null
)
if
(
focusNull
==
null
)
{
focusNull
=
new
HashSet
<>();
}
return
focusNull
;
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/domain/EntityBase.java
浏览文件 @
38f046f6
...
...
@@ -24,8 +24,9 @@ public class EntityBase implements Serializable {
private
Set
<
String
>
focusNull
;
public
Set
<
String
>
getFocusNull
()
{
if
(
focusNull
==
null
)
if
(
focusNull
==
null
)
{
focusNull
=
new
HashSet
<>();
}
return
focusNull
;
}
...
...
@@ -50,8 +51,9 @@ public class EntityBase implements Serializable {
private
BeanMap
getMap
()
{
if
(
map
==
null
)
if
(
map
==
null
)
{
map
=
BeanMap
.
create
(
this
);
}
return
map
;
}
...
...
@@ -68,16 +70,15 @@ public class EntityBase implements Serializable {
this
.
extensionparams
=
extensionparams
;
}
public
Object
get
(
String
field
)
{
String
fieldRealName
=
DEFieldCacheMap
.
getFieldRealName
(
this
.
getClass
(),
field
);
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
{
return
getMap
().
get
(
fieldRealName
);
else
}
else
{
return
this
.
extensionparams
.
get
(
field
.
toLowerCase
());
}
}
@JsonAnyGetter
public
Map
<
String
,
Object
>
any
()
{
...
...
@@ -89,14 +90,17 @@ public class EntityBase implements Serializable {
field
=
field
.
toLowerCase
();
String
fieldRealName
=
DEFieldCacheMap
.
getFieldRealName
(
this
.
getClass
(),
field
);
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
{
if
(
value
==
null
)
if
(
value
==
null
)
{
getMap
().
put
(
fieldRealName
,
null
);
else
}
else
{
getMap
().
put
(
fieldRealName
,
DEFieldCacheMap
.
fieldValueOf
(
this
.
getClass
(),
fieldRealName
,
value
));
}
else
}
else
{
this
.
extensionparams
.
put
(
field
.
toLowerCase
(),
value
);
}
}
/**
* 复制当前对象数据到目标对象
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/domain/EntityMP.java
浏览文件 @
38f046f6
...
...
@@ -5,25 +5,26 @@ import org.springframework.util.StringUtils;
public
class
EntityMP
extends
EntityBase
{
public
UpdateWrapper
getUpdateWrapper
(
boolean
clean
)
{
UpdateWrapper
wrapper
=
new
UpdateWrapper
();
for
(
String
nullField:
getFocusNull
())
{
wrapper
.
set
(
nullField
,
null
);
}
if
(
clean
)
if
(
clean
)
{
getFocusNull
().
clear
();
}
return
wrapper
;
}
@Override
public
void
modify
(
String
field
,
Object
val
)
{
if
(
val
==
null
)
if
(
val
==
null
)
{
this
.
getFocusNull
().
add
(
field
.
toLowerCase
());
else
}
else
{
this
.
getFocusNull
().
remove
(
field
.
toLowerCase
());
}
}
@Override
public
void
reset
(
String
field
){
...
...
@@ -33,6 +34,5 @@ public class EntityMP extends EntityBase {
getFocusNull
().
remove
(
resetField
);
}
}
}
ibzwf-util/src/main/java/cn/ibizlab/util/domain/EntityMongo.java
浏览文件 @
38f046f6
...
...
@@ -2,7 +2,5 @@ package cn.ibizlab.util.domain;
public
class
EntityMongo
extends
EntityBase
{
}
ibzwf-util/src/main/java/cn/ibizlab/util/filter/QueryBuildContext.java
浏览文件 @
38f046f6
...
...
@@ -44,9 +44,9 @@ public class QueryBuildContext extends SearchContextBase implements ISearchConte
*/
private
QueryBuilder
parseQueryFilter
(
QueryFilter
queryFilter
){
if
(
ObjectUtils
.
isEmpty
(
queryFilter
.
get
$and
())
&&
ObjectUtils
.
isEmpty
(
queryFilter
.
get
$or
())
&&
ObjectUtils
.
isEmpty
(
queryFilter
.
any
()))
if
(
ObjectUtils
.
isEmpty
(
queryFilter
.
get
$and
())
&&
ObjectUtils
.
isEmpty
(
queryFilter
.
get
$or
())
&&
ObjectUtils
.
isEmpty
(
queryFilter
.
any
()))
{
return
null
;
}
QueryBuilder
rsBuilder
=
QueryBuilder
.
start
();
QueryBuilder
fieldBuilder
=
parseFieldMap
(
queryFilter
.
any
());
QueryBuilder
orBuilder
=
parseOrQueryFilter
(
queryFilter
.
get
$or
());
...
...
@@ -107,8 +107,9 @@ public class QueryBuildContext extends SearchContextBase implements ISearchConte
* @return
*/
private
QueryBuilder
parseFieldMap
(
Map
<
String
,
QueryFilter
.
SegmentCond
>
fieldMap
)
{
if
(
fieldMap
.
size
()==
0
)
if
(
fieldMap
.
size
()==
0
)
{
return
null
;
}
QueryBuilder
fieldBuilders
=
QueryBuilder
.
start
();
for
(
Map
.
Entry
<
String
,
QueryFilter
.
SegmentCond
>
entry:
fieldMap
.
entrySet
()){
getSegmentCondSql
(
entry
.
getKey
(),
entry
.
getValue
(),
fieldBuilders
);
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/filter/QueryFilter.java
浏览文件 @
38f046f6
...
...
@@ -63,8 +63,9 @@ public class QueryFilter {
private
Map
<
String
,
SegmentCond
>
getMap
()
{
if
(
map
==
null
)
if
(
map
==
null
)
{
map
=
new
LinkedHashMap
<>();
}
return
map
;
}
...
...
@@ -132,11 +133,12 @@ public class QueryFilter {
}
private
QueryFilter
op
(
String
column
,
SegmentCond
segmentCond
)
{
if
(
this
.
getMap
().
containsKey
(
column
))
if
(
this
.
getMap
().
containsKey
(
column
))
{
((
SegmentCond
)
this
.
getMap
().
get
(
column
)).
getMap
().
putAll
(
segmentCond
.
getMap
());
else
}
else
{
this
.
getMap
().
put
(
column
,
segmentCond
);
}
return
this
;
}
...
...
@@ -155,8 +157,9 @@ public class QueryFilter {
private
Map
<
String
,
Object
>
getMap
()
{
if
(
map
==
null
)
if
(
map
==
null
)
{
map
=
new
LinkedHashMap
<>();
}
return
map
;
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/filter/QueryWrapperContext.java
浏览文件 @
38f046f6
...
...
@@ -37,17 +37,20 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
int
pageSize
=
getPageable
().
getPageSize
();
//构造mybatis-plus分页
if
(
StringUtils
.
isEmpty
(
currentPage
)
||
StringUtils
.
isEmpty
(
pageSize
))
if
(
StringUtils
.
isEmpty
(
currentPage
)
||
StringUtils
.
isEmpty
(
pageSize
))
{
page
=
new
Page
(
1
,
Short
.
MAX_VALUE
);
else
}
else
{
page
=
new
Page
(
currentPage
+
1
,
pageSize
);
}
//构造mybatis-plus排序
Sort
sort
=
getPageable
().
getSort
();
Iterator
<
Sort
.
Order
>
it_sort
=
sort
.
iterator
();
if
(
ObjectUtils
.
isEmpty
(
it_sort
))
if
(
ObjectUtils
.
isEmpty
(
it_sort
))
{
return
page
;
}
ParameterizedType
parameterizedType
=
(
ParameterizedType
)
getClass
().
getGenericSuperclass
();
Class
<
T
>
type
=
(
Class
<
T
>)
parameterizedType
.
getActualTypeArguments
()[
0
];
...
...
@@ -95,9 +98,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return
*/
private
Consumer
<
QueryWrapper
<
T
>>
parseQueryFilter
(
QueryFilter
queryFilter
){
if
(
queryFilter
.
any
().
size
()==
0
&&
queryFilter
.
get
$or
()==
null
&&
queryFilter
.
get
$and
()==
null
)
if
(
queryFilter
.
any
().
size
()==
0
&&
queryFilter
.
get
$or
()==
null
&&
queryFilter
.
get
$and
()==
null
)
{
return
null
;
}
Consumer
<
QueryWrapper
<
T
>>
consumer
=
queryWrapper
->
{
Consumer
fieldConsumer
=
parseFieldMap
(
queryFilter
.
any
());
Consumer
orConsumer
=
parseOrQueryFilter
(
queryFilter
.
get
$or
());
...
...
@@ -121,7 +124,6 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return
*/
private
Consumer
<
QueryWrapper
<
T
>>
parseOrQueryFilter
(
List
<
QueryFilter
>
queryFilters
)
{
if
(
queryFilters
==
null
||
queryFilters
.
size
()==
0
)
return
null
;
Consumer
<
QueryWrapper
<
T
>>
consumer
=
queryWrapper
->
{
...
...
@@ -139,9 +141,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return
*/
private
Consumer
<
QueryWrapper
<
T
>>
parseAndQueryFilter
(
List
<
QueryFilter
>
queryFilters
)
{
if
(
queryFilters
==
null
||
queryFilters
.
size
()==
0
)
if
(
queryFilters
==
null
||
queryFilters
.
size
()==
0
)
{
return
null
;
}
Consumer
<
QueryWrapper
<
T
>>
consumer
=
queryWrapper
->
{
for
(
QueryFilter
queryFilter:
queryFilters
){
Consumer
tempQueryWrapper
=
parseQueryFilter
(
queryFilter
);
...
...
@@ -157,9 +159,9 @@ public class QueryWrapperContext<T> extends SearchContextBase implements ISearch
* @return
*/
private
Consumer
<
QueryWrapper
<
T
>>
parseFieldMap
(
Map
<
String
,
QueryFilter
.
SegmentCond
>
fieldMap
)
{
if
(
fieldMap
.
size
()==
0
)
if
(
fieldMap
.
size
()==
0
)
{
return
null
;
}
Consumer
<
QueryWrapper
<
T
>>
consumer
=
queryWrapper
->
{
for
(
Map
.
Entry
<
String
,
QueryFilter
.
SegmentCond
>
field:
fieldMap
.
entrySet
()){
String
fieldName
=
field
.
getKey
();
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/filter/SearchContextBase.java
浏览文件 @
38f046f6
...
...
@@ -98,11 +98,13 @@ public class SearchContextBase implements ISearchContext{
* @return
*/
public
Pageable
getPageable
()
{
if
(
ObjectUtils
.
isEmpty
(
pageSort
))
if
(
ObjectUtils
.
isEmpty
(
pageSort
))
{
return
PageRequest
.
of
(
page
,
size
);
else
}
else
{
return
PageRequest
.
of
(
page
,
size
,
pageSort
);
}
}
/**
* 设置排序值
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/helper/CachedBeanCopier.java
浏览文件 @
38f046f6
...
...
@@ -13,8 +13,9 @@ public class CachedBeanCopier {
}
public
static
void
copy
(
Object
srcObj
,
Object
destObj
,
boolean
useConverter
)
{
if
(
srcObj
==
null
||
destObj
==
null
)
if
(
srcObj
==
null
||
destObj
==
null
)
{
return
;
}
getCopier
(
srcObj
,
destObj
,
useConverter
).
copy
(
srcObj
,
destObj
,
null
);
}
...
...
@@ -29,6 +30,4 @@ public class CachedBeanCopier {
}
return
copier
;
}
}
ibzwf-util/src/main/java/cn/ibizlab/util/helper/DEFieldCacheMap.java
浏览文件 @
38f046f6
...
...
@@ -36,13 +36,16 @@ public class DEFieldCacheMap {
*/
public
static
<
T
>
Hashtable
<
String
,
Field
>
getFieldMap
(
Class
<
T
>
clazz
)
{
String
className
=
clazz
.
getName
();
if
(
className
.
indexOf
(
"_$"
)>
0
)
if
(
className
.
indexOf
(
"_$"
)>
0
)
{
className
=
className
.
substring
(
0
,
className
.
lastIndexOf
(
"_$"
));
if
(
cacheMap
.
containsKey
(
className
))
}
if
(
cacheMap
.
containsKey
(
className
))
{
return
cacheMap
.
get
(
className
);
}
synchronized
(
objLock1
)
{
if
(
cacheMap
.
containsKey
(
className
))
if
(
cacheMap
.
containsKey
(
className
))
{
return
cacheMap
.
get
(
className
);
}
Hashtable
<
String
,
Field
>
result
=
new
Hashtable
<
String
,
Field
>();
List
<
Field
>
list
=
new
ArrayList
<
Field
>();
Hashtable
<
String
,
String
>
keys
=
new
Hashtable
<
String
,
String
>();
...
...
@@ -58,9 +61,10 @@ public class DEFieldCacheMap {
Audit
auditField
=
field
.
getAnnotation
(
Audit
.
class
);
if
(!
ObjectUtils
.
isEmpty
(
deField
))
{
defields
.
put
(
field
.
getName
(),
deField
);
if
(
deField
.
isKeyField
())
if
(
deField
.
isKeyField
())
{
cacheDEKeyField
.
put
(
className
,
field
.
getName
());
}
}
if
(!
ObjectUtils
.
isEmpty
(
auditField
))
{
auditfields
.
put
(
field
.
getName
(),
auditField
);
}
...
...
@@ -74,10 +78,12 @@ public class DEFieldCacheMap {
}
}
public
static
Hashtable
<
String
,
Field
>
getFieldMap
(
String
className
)
{
if
(
className
.
indexOf
(
"_$"
)>
0
)
if
(
className
.
indexOf
(
"_$"
)>
0
)
{
className
=
className
.
substring
(
0
,
className
.
lastIndexOf
(
"_$"
));
if
(
cacheMap
.
containsKey
(
className
))
}
if
(
cacheMap
.
containsKey
(
className
))
{
return
cacheMap
.
get
(
className
);
}
Class
clazz
=
null
;
try
{
clazz
=
Class
.
forName
(
className
);
...
...
@@ -96,10 +102,12 @@ public class DEFieldCacheMap {
*/
public
static
<
T
>
Hashtable
<
String
,
DEField
>
getDEFields
(
Class
<
T
>
clazz
)
{
String
className
=
clazz
.
getName
();
if
(
className
.
indexOf
(
"_$"
)>
0
)
if
(
className
.
indexOf
(
"_$"
)>
0
)
{
className
=
className
.
substring
(
0
,
className
.
lastIndexOf
(
"_$"
));
if
(
cacheDEField
.
containsKey
(
className
))
}
if
(
cacheDEField
.
containsKey
(
className
))
{
return
cacheDEField
.
get
(
className
);
}
else
{
DEFieldCacheMap
.
getFieldMap
(
className
);
return
cacheDEField
.
get
(
className
);
...
...
@@ -113,10 +121,12 @@ public class DEFieldCacheMap {
*/
public
static
<
T
>
Hashtable
<
String
,
Audit
>
getAuditFields
(
Class
<
T
>
clazz
)
{
String
className
=
clazz
.
getName
();
if
(
className
.
indexOf
(
"_$"
)>
0
)
if
(
className
.
indexOf
(
"_$"
)>
0
)
{
className
=
className
.
substring
(
0
,
className
.
lastIndexOf
(
"_$"
));
if
(
cacheAuditField
.
containsKey
(
className
))
}
if
(
cacheAuditField
.
containsKey
(
className
))
{
return
cacheAuditField
.
get
(
className
);
}
else
{
DEFieldCacheMap
.
getFieldMap
(
className
);
return
cacheAuditField
.
get
(
className
);
...
...
@@ -130,10 +140,12 @@ public class DEFieldCacheMap {
*/
public
static
<
T
>
String
getDEKeyField
(
Class
<
T
>
clazz
)
{
String
className
=
clazz
.
getName
();
if
(
className
.
indexOf
(
"_$"
)>
0
)
if
(
className
.
indexOf
(
"_$"
)>
0
)
{
className
=
className
.
substring
(
0
,
className
.
lastIndexOf
(
"_$"
));
if
(
cacheDEKeyField
.
containsKey
(
className
))
}
if
(
cacheDEKeyField
.
containsKey
(
className
))
{
return
cacheDEKeyField
.
get
(
className
);
}
else
{
DEFieldCacheMap
.
getFieldMap
(
className
);
return
cacheDEKeyField
.
get
(
className
);
...
...
@@ -148,10 +160,12 @@ public class DEFieldCacheMap {
*/
public
static
<
T
>
List
<
Field
>
getFields
(
Class
<
T
>
clazz
)
{
String
className
=
clazz
.
getName
();
if
(
className
.
indexOf
(
"_$"
)>
0
)
if
(
className
.
indexOf
(
"_$"
)>
0
)
{
className
=
className
.
substring
(
0
,
className
.
lastIndexOf
(
"_$"
));
if
(
cacheList
.
containsKey
(
className
))
}
if
(
cacheList
.
containsKey
(
className
))
{
return
cacheList
.
get
(
className
);
}
else
{
DEFieldCacheMap
.
getFieldMap
(
className
);
return
cacheList
.
get
(
className
);
...
...
@@ -159,10 +173,12 @@ public class DEFieldCacheMap {
}
public
static
List
<
Field
>
getFields
(
String
className
)
{
if
(
className
.
indexOf
(
"_$"
)>
0
)
if
(
className
.
indexOf
(
"_$"
)>
0
)
{
className
=
className
.
substring
(
0
,
className
.
lastIndexOf
(
"_$"
));
if
(
cacheList
.
containsKey
(
className
))
}
if
(
cacheList
.
containsKey
(
className
))
{
return
cacheList
.
get
(
className
);
}
else
{
DEFieldCacheMap
.
getFieldMap
(
className
);
return
cacheList
.
get
(
className
);
...
...
@@ -176,10 +192,12 @@ public class DEFieldCacheMap {
*/
public
static
<
T
>
Hashtable
<
String
,
String
>
getFieldKeys
(
Class
<
T
>
clazz
)
{
String
className
=
clazz
.
getName
();
if
(
className
.
indexOf
(
"_$"
)>
0
)
if
(
className
.
indexOf
(
"_$"
)>
0
)
{
className
=
className
.
substring
(
0
,
className
.
lastIndexOf
(
"_$"
));
if
(
cacheKey
.
containsKey
(
className
))
}
if
(
cacheKey
.
containsKey
(
className
))
{
return
cacheKey
.
get
(
className
);
}
else
{
DEFieldCacheMap
.
getFieldMap
(
className
);
return
cacheKey
.
get
(
className
);
...
...
@@ -189,21 +207,26 @@ public class DEFieldCacheMap {
public
static
<
T
>
String
getFieldRealName
(
Class
<
T
>
clazz
,
String
fieldname
)
{
fieldname
=
fieldname
.
toLowerCase
();
Hashtable
<
String
,
String
>
keys
=
DEFieldCacheMap
.
getFieldKeys
(
clazz
);
if
(
keys
.
containsKey
(
fieldname
))
if
(
keys
.
containsKey
(
fieldname
))
{
return
keys
.
get
(
fieldname
);
else
if
(
keys
.
containsKey
(
fieldname
.
replace
(
"_"
,
""
)))
}
else
if
(
keys
.
containsKey
(
fieldname
.
replace
(
"_"
,
""
)))
{
return
keys
.
get
(
fieldname
.
replace
(
"_"
,
""
));
else
}
else
{
return
""
;
}
}
public
static
<
T
>
Field
getField
(
Class
<
T
>
clazz
,
String
fieldname
)
{
String
fieldRealName
=
DEFieldCacheMap
.
getFieldRealName
(
clazz
,
fieldname
);
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
if
(!
StringUtils
.
isEmpty
(
fieldRealName
))
{
return
DEFieldCacheMap
.
getFieldMap
(
clazz
).
get
(
fieldRealName
);
else
}
else
{
return
null
;
}
}
public
static
<
T
>
String
getFieldColumnName
(
Class
<
T
>
clazz
,
String
fieldname
)
{
Field
field
=
DEFieldCacheMap
.
getField
(
clazz
,
fieldname
);
...
...
@@ -226,6 +249,4 @@ public class DEFieldCacheMap {
}
return
resultValue
;
}
}
\ No newline at end of file
ibzwf-util/src/main/java/cn/ibizlab/util/helper/DataObject.java
浏览文件 @
38f046f6
...
...
@@ -19,30 +19,34 @@ public class DataObject {
final
static
public
DateFormat
dayFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
final
static
public
String
getStringValue
(
Object
objValue
,
String
strDefault
)
{
if
(
objValue
==
null
)
return
strDefault
;
if
(
objValue
instanceof
String
)
return
(
String
)
objValue
;
if
(
objValue
==
null
)
{
return
strDefault
;
}
if
(
objValue
instanceof
String
)
{
return
(
String
)
objValue
;
}
if
(
objValue
instanceof
java
.
sql
.
Timestamp
||
objValue
instanceof
java
.
sql
.
Date
||
objValue
instanceof
java
.
util
.
Date
)
{
String
rt
=
datetimeFormat
.
format
(
objValue
);
if
(
rt
.
endsWith
(
" 00:00:00"
))
if
(
rt
.
endsWith
(
" 00:00:00"
))
{
rt
=
dayFormat
.
format
(
objValue
);
else
if
(
rt
.
endsWith
(
":00"
))
}
else
if
(
rt
.
endsWith
(
":00"
))
{
rt
=
datetimeFormat2
.
format
(
objValue
);
}
return
rt
;
}
return
objValue
.
toString
();
}
public
static
<
T
>
Object
objectValueOf
(
Class
<
T
>
type
,
Object
fieldValue
)
{
if
(
fieldValue
==
null
)
if
(
fieldValue
==
null
)
{
return
null
;
}
Object
resultValue
=
fieldValue
;
String
targetType
=
type
.
getSimpleName
();
if
(
targetType
.
equalsIgnoreCase
(
fieldValue
.
getClass
().
getSimpleName
()))
if
(
targetType
.
equalsIgnoreCase
(
fieldValue
.
getClass
().
getSimpleName
()))
{
return
resultValue
;
}
if
(
targetType
.
equals
(
"Boolean"
)){
resultValue
=
getBooleanValue
(
fieldValue
,
false
);
}
...
...
@@ -79,10 +83,9 @@ public class DataObject {
else
if
(
targetType
.
equals
(
"String"
))
{
resultValue
=
getStringValue
(
fieldValue
,
null
);
}
if
(
resultValue
==
null
)
if
(
resultValue
==
null
)
{
return
null
;
}
return
resultValue
;
}
...
...
@@ -95,8 +98,9 @@ public class DataObject {
if
(
objValue
==
null
)
{
return
jDefault
;
}
if
(
objValue
instanceof
JSONObject
)
if
(
objValue
instanceof
JSONObject
)
{
return
(
JSONObject
)
objValue
;
}
String
strValue
=
objValue
.
toString
();
try
{
return
JSONObject
.
parseObject
(
strValue
);
...
...
@@ -111,8 +115,9 @@ public class DataObject {
if
(
objValue
==
null
)
{
return
jDefault
;
}
if
(
objValue
instanceof
JSONArray
)
if
(
objValue
instanceof
JSONArray
)
{
return
(
JSONArray
)
objValue
;
}
String
strValue
=
objValue
.
toString
();
try
{
return
JSONArray
.
parseArray
(
strValue
);
...
...
@@ -133,9 +138,10 @@ public class DataObject {
List
<
String
>
chk1
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
arr
.
size
();
i
++)
{
if
(
arr
.
get
(
i
)
instanceof
String
)
if
(
arr
.
get
(
i
)
instanceof
String
)
{
chk1
.
add
(
arr
.
getString
(
i
));
}
}
return
chk1
;
}
else
...
...
@@ -146,8 +152,9 @@ public class DataObject {
}
final
static
public
Boolean
getBooleanValue
(
Object
objValue
,
Boolean
bDefault
)
{
if
(
objValue
==
null
)
return
bDefault
;
if
(
objValue
==
null
)
{
return
bDefault
;
}
if
(
objValue
instanceof
Boolean
)
{
return
(
Boolean
)
objValue
;
}
...
...
@@ -155,20 +162,24 @@ public class DataObject {
}
final
static
public
char
[]
getCharacterValue
(
Object
objValue
,
char
[]
cDefault
)
{
if
(
objValue
==
null
)
return
cDefault
;
if
(
objValue
==
null
)
{
return
cDefault
;
}
return
objValue
.
toString
().
toCharArray
();
}
final
static
public
Double
getDoubleValue
(
Object
objValue
,
Double
dDefault
)
{
if
(
objValue
==
null
)
return
dDefault
;
if
(
objValue
==
null
)
{
return
dDefault
;
}
if
(
objValue
instanceof
Double
)
{
return
(
Double
)
objValue
;
}
String
strValue
=
objValue
.
toString
();
if
(
StringUtils
.
isEmpty
(
strValue
))
return
null
;
if
(
StringUtils
.
isEmpty
(
strValue
))
{
return
null
;
}
strValue
=
strValue
.
replace
(
","
,
""
);
return
Double
.
parseDouble
(
strValue
);
}
...
...
@@ -179,8 +190,9 @@ public class DataObject {
return
nDefault
;
}
if
(
objValue
instanceof
Integer
)
if
(
objValue
instanceof
Integer
)
{
return
(
Integer
)
objValue
;
}
if
(
objValue
instanceof
Double
)
{
return
((
Double
)
objValue
).
intValue
();
...
...
@@ -191,8 +203,9 @@ public class DataObject {
}
String
strValue
=
objValue
.
toString
();
if
(
StringUtils
.
isEmpty
(
strValue
))
if
(
StringUtils
.
isEmpty
(
strValue
))
{
return
nDefault
;
}
strValue
=
strValue
.
replace
(
","
,
""
);
return
Integer
.
parseInt
(
strValue
);
}
...
...
@@ -204,12 +217,13 @@ public class DataObject {
}
try
{
if
(
objValue
instanceof
Float
)
if
(
objValue
instanceof
Float
)
{
return
(
Float
)
objValue
;
}
String
strValue
=
objValue
.
toString
();
if
(
StringUtils
.
isEmpty
(
strValue
))
if
(
StringUtils
.
isEmpty
(
strValue
))
{
return
fDefault
;
}
strValue
=
strValue
.
replace
(
","
,
""
);
return
Float
.
parseFloat
(
strValue
);
}
catch
(
Exception
ex
)
{
...
...
@@ -233,8 +247,9 @@ public class DataObject {
return
BigDecimal
.
valueOf
((
Long
)
objValue
);
}
String
strValue
=
objValue
.
toString
();
if
(
StringUtils
.
isEmpty
(
strValue
))
if
(
StringUtils
.
isEmpty
(
strValue
))
{
return
fDefault
;
}
strValue
=
strValue
.
replace
(
","
,
""
);
return
BigDecimal
.
valueOf
(
Double
.
parseDouble
(
strValue
));
}
catch
(
Exception
ex
)
{
...
...
@@ -253,9 +268,10 @@ public class DataObject {
}
else
{
Long
l
=
getLongValue
(
objValue
,
null
);
if
(
l
!=
null
)
if
(
l
!=
null
)
{
return
BigInteger
.
valueOf
(
l
);
}
}
}
catch
(
Exception
ex
)
{
}
...
...
@@ -283,8 +299,9 @@ public class DataObject {
}
String
strValue
=
objValue
.
toString
();
if
(
StringUtils
.
isEmpty
(
strValue
))
if
(
StringUtils
.
isEmpty
(
strValue
))
{
return
nDefault
;
}
strValue
=
strValue
.
replace
(
","
,
""
);
return
Long
.
parseLong
(
strValue
);
}
catch
(
Exception
ex
)
{
...
...
@@ -294,7 +311,9 @@ public class DataObject {
final
static
public
byte
[]
getBinaryValue
(
Object
objValue
,
byte
[]
def
)
{
if
(
objValue
==
null
)
return
def
;
if
(
objValue
==
null
)
{
return
def
;
}
if
(
objValue
instanceof
byte
[]){
return
(
byte
[])
objValue
;
}
...
...
@@ -312,7 +331,9 @@ public class DataObject {
* @
*/
final
static
public
java
.
sql
.
Timestamp
getTimestampValue
(
Object
objValue
,
java
.
sql
.
Timestamp
tDefault
)
{
if
(
objValue
==
null
)
return
tDefault
;
if
(
objValue
==
null
)
{
return
tDefault
;
}
if
(
objValue
instanceof
java
.
sql
.
Timestamp
)
{
java
.
sql
.
Timestamp
ti
=
(
java
.
sql
.
Timestamp
)
objValue
;
...
...
@@ -332,7 +353,9 @@ public class DataObject {
if
(
objValue
instanceof
String
)
{
String
strValue
=
(
String
)
objValue
;
strValue
=
strValue
.
trim
();
if
(
StringUtils
.
isEmpty
(
strValue
))
return
null
;
if
(
StringUtils
.
isEmpty
(
strValue
))
{
return
null
;
}
try
{
java
.
util
.
Date
date
=
parse
((
String
)
objValue
);
...
...
@@ -373,7 +396,9 @@ public class DataObject {
* @
*/
public
static
Object
testDateTime
(
String
strInput
,
TimeZone
timeZone
)
throws
Exception
{
if
(
StringUtils
.
isEmpty
(
strInput
))
return
null
;
if
(
StringUtils
.
isEmpty
(
strInput
))
{
return
null
;
}
Date
dtDate
=
parse
(
strInput
,
timeZone
);
java
.
sql
.
Timestamp
retDate
=
new
java
.
sql
.
Timestamp
(
dtDate
.
getTime
());
return
retDate
;
...
...
@@ -425,8 +450,9 @@ public class DataObject {
if
(
strTimeString
.
indexOf
(
"T"
)!=-
1
){
strPart
=
strTimeString
.
split
(
"[T]"
);
}
else
else
{
strPart
=
strTimeString
.
split
(
" "
);
}
if
(
strPart
.
length
==
2
)
{
// 两个部分
String
strDate
=
""
;
...
...
@@ -589,6 +615,4 @@ public class DataObject {
return
new
Timestamp
(
cl
.
getTime
().
getTime
());
}
}
ibzwf-util/src/main/java/cn/ibizlab/util/helper/RuleUtils.java
浏览文件 @
38f046f6
...
...
@@ -18,8 +18,9 @@ public class RuleUtils
public
static
Object
getObj
(
Object
object
,
String
members
)
{
if
(
object
==
null
)
if
(
object
==
null
)
{
return
null
;
}
Object
currentObj
=
object
;
String
[]
arrayOfString
=
members
.
split
(
"\\."
);
int
i
=
arrayOfString
.
length
;
...
...
@@ -31,21 +32,24 @@ public class RuleUtils
if
(
currentObj
instanceof
EntityBase
)
{
currentObj
=((
EntityBase
)
currentObj
).
get
(
methodName
);
if
(
currentObj
==
null
)
if
(
currentObj
==
null
)
{
return
null
;
}
}
else
if
(
currentObj
instanceof
JSONObject
)
{
currentObj
=((
JSONObject
)
currentObj
).
get
(
methodName
);
if
(
currentObj
==
null
)
if
(
currentObj
==
null
)
{
return
null
;
}
}
else
if
(
currentObj
instanceof
Map
)
{
currentObj
=((
Map
)
currentObj
).
get
(
methodName
);
if
(
currentObj
==
null
)
if
(
currentObj
==
null
)
{
return
null
;
}
}
else
{
Class
clazz
=
currentObj
.
getClass
();
...
...
@@ -60,10 +64,10 @@ public class RuleUtils
}
currentObj
=
method
.
invoke
(
currentObj
,
methodName
);
if
(
currentObj
==
null
)
if
(
currentObj
==
null
)
{
return
null
;
}
}
}
catch
(
Exception
e
)
{
...
...
@@ -77,45 +81,64 @@ public class RuleUtils
public
static
boolean
test
(
Object
finalObject
,
String
option
,
Object
exp
)
{
if
(
option
.
equalsIgnoreCase
(
"eq"
)||
option
.
equalsIgnoreCase
(
"equal"
)||
option
.
equalsIgnoreCase
(
"="
))
if
(
option
.
equalsIgnoreCase
(
"eq"
)||
option
.
equalsIgnoreCase
(
"equal"
)||
option
.
equalsIgnoreCase
(
"="
))
{
return
equal
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"noteq"
)||
option
.
equalsIgnoreCase
(
"notequal"
)||
option
.
equalsIgnoreCase
(
"<>"
)||
option
.
equalsIgnoreCase
(
"!="
))
}
else
if
(
option
.
equalsIgnoreCase
(
"noteq"
)||
option
.
equalsIgnoreCase
(
"notequal"
)||
option
.
equalsIgnoreCase
(
"<>"
)||
option
.
equalsIgnoreCase
(
"!="
)){
return
!
equal
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"gt"
)||
option
.
equalsIgnoreCase
(
">"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"gt"
)||
option
.
equalsIgnoreCase
(
">"
)){
return
gt
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"lt"
)||
option
.
equalsIgnoreCase
(
"<"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"lt"
)||
option
.
equalsIgnoreCase
(
"<"
)){
return
lt
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"gtandeq"
)||
option
.
equalsIgnoreCase
(
"ge"
)||
option
.
equalsIgnoreCase
(
">="
))
}
else
if
(
option
.
equalsIgnoreCase
(
"gtandeq"
)||
option
.
equalsIgnoreCase
(
"ge"
)||
option
.
equalsIgnoreCase
(
">="
)){
return
ge
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"ltandeq"
)||
option
.
equalsIgnoreCase
(
"le"
)||
option
.
equalsIgnoreCase
(
"<="
))
}
else
if
(
option
.
equalsIgnoreCase
(
"ltandeq"
)||
option
.
equalsIgnoreCase
(
"le"
)||
option
.
equalsIgnoreCase
(
"<="
)){
return
le
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"null"
)||
option
.
equalsIgnoreCase
(
"isnull"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"null"
)||
option
.
equalsIgnoreCase
(
"isnull"
)){
return
isNull
(
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"notnull"
)||
option
.
equalsIgnoreCase
(
"isnotnull"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"notnull"
)||
option
.
equalsIgnoreCase
(
"isnotnull"
)){
return
isNotNull
(
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"like"
)||
option
.
equalsIgnoreCase
(
"matchor"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"like"
)||
option
.
equalsIgnoreCase
(
"matchor"
)){
return
matchor
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"leftlike"
)||
option
.
equalsIgnoreCase
(
"startswith"
)||
option
.
equalsIgnoreCase
(
"begin"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"leftlike"
)||
option
.
equalsIgnoreCase
(
"startswith"
)||
option
.
equalsIgnoreCase
(
"begin"
)){
return
leftmatchor
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"rightlike"
)||
option
.
equalsIgnoreCase
(
"endswith"
)||
option
.
equalsIgnoreCase
(
"end"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"rightlike"
)||
option
.
equalsIgnoreCase
(
"endswith"
)||
option
.
equalsIgnoreCase
(
"end"
)){
return
rightmatchor
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"match"
)||
option
.
equalsIgnoreCase
(
"matchand"
)||
option
.
equalsIgnoreCase
(
"matches"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"match"
)||
option
.
equalsIgnoreCase
(
"matchand"
)||
option
.
equalsIgnoreCase
(
"matches"
)){
return
matchand
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"in"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"in"
)){
return
in
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"notin"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"notin"
)){
return
notin
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"NOTLIKE"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"NOTLIKE"
)){
return
notmatchor
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"LEFTNOTLIKE"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"LEFTNOTLIKE"
)){
return
!
leftmatchor
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"RIGHTNOTLIKE"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"RIGHTNOTLIKE"
)){
return
!
rightmatchor
(
exp
,
finalObject
);
else
if
(
option
.
equalsIgnoreCase
(
"NOTMATCHES"
))
}
else
if
(
option
.
equalsIgnoreCase
(
"NOTMATCHES"
)){
return
notmatchand
(
exp
,
finalObject
);
else
}
else
{
return
false
;
}
}
public
static
boolean
equal
(
Object
exp
,
Object
object
,
String
members
)
...
...
@@ -125,10 +148,12 @@ public class RuleUtils
public
static
boolean
equal
(
Object
exp
,
Object
finalObject
)
{
if
(
exp
==
null
)
if
(
exp
==
null
)
{
return
false
;
if
(
finalObject
==
null
)
}
if
(
finalObject
==
null
){
return
false
;
}
if
(
exp
instanceof
String
&&
((
String
)
exp
).
length
()==
10
&&
finalObject
instanceof
Timestamp
)
{
...
...
@@ -145,10 +170,12 @@ public class RuleUtils
return
ObjectUtils
.
nullSafeEquals
(
tm
,
finalObject
);
}
if
(
ObjectUtils
.
nullSafeEquals
(
exp
,
finalObject
))
if
(
ObjectUtils
.
nullSafeEquals
(
exp
,
finalObject
))
{
return
true
;
if
(
exp
.
toString
().
equalsIgnoreCase
(
finalObject
.
toString
()))
}
if
(
exp
.
toString
().
equalsIgnoreCase
(
finalObject
.
toString
())){
return
true
;
}
return
false
;
}
...
...
@@ -158,10 +185,12 @@ public class RuleUtils
}
public
static
boolean
gt
(
Object
exp
,
Object
finalObject
)
{
if
(
ObjectUtils
.
isEmpty
(
exp
))
if
(
ObjectUtils
.
isEmpty
(
exp
))
{
return
false
;
if
(
ObjectUtils
.
isEmpty
(
finalObject
))
}
if
(
ObjectUtils
.
isEmpty
(
finalObject
)){
return
false
;
}
try
{
if
(
finalObject
instanceof
java
.
sql
.
Timestamp
)
...
...
@@ -176,9 +205,10 @@ public class RuleUtils
else
{
tm
=
DataObject
.
getTimestampValue
(
exp
,
null
);
if
(
tm
==
null
)
if
(
tm
==
null
)
{
return
false
;
}
}
return
finalTime
.
getTime
()>
tm
.
getTime
();
}
else
if
(
finalObject
instanceof
Integer
)
...
...
@@ -209,15 +239,14 @@ public class RuleUtils
{
return
finalObject
.
toString
().
compareToIgnoreCase
(
exp
.
toString
())>
0
;
}
else
else
{
return
false
;
}
}
catch
(
Exception
ex
)
{
return
false
;
}
}
public
static
boolean
lt
(
Object
exp
,
Object
object
,
String
members
)
...
...
@@ -226,10 +255,12 @@ public class RuleUtils
}
public
static
boolean
lt
(
Object
exp
,
Object
finalObject
)
{
if
(
ObjectUtils
.
isEmpty
(
exp
))
if
(
ObjectUtils
.
isEmpty
(
exp
))
{
return
false
;
if
(
ObjectUtils
.
isEmpty
(
finalObject
))
}
if
(
ObjectUtils
.
isEmpty
(
finalObject
)){
return
false
;
}
try
{
if
(
finalObject
instanceof
java
.
sql
.
Timestamp
)
...
...
@@ -311,8 +342,9 @@ public class RuleUtils
return
false
;
String
tvs
=
expObj
.
toString
().
trim
();
if
(
StringUtils
.
isEmpty
(
tvs
))
if
(
StringUtils
.
isEmpty
(
tvs
))
{
return
false
;
}
if
(
finalObject
instanceof
Integer
)
{
...
...
@@ -352,8 +384,9 @@ public class RuleUtils
}
public
static
boolean
isNull
(
Object
finalObject
)
{
if
(
finalObject
instanceof
String
)
if
(
finalObject
instanceof
String
)
{
return
StringUtils
.
isEmpty
(
finalObject
.
toString
().
trim
());
}
return
(
ObjectUtils
.
isEmpty
(
finalObject
));
}
...
...
@@ -382,11 +415,13 @@ public class RuleUtils
}
public
static
boolean
matchor
(
Object
expObj
,
Object
obj
)
{
if
(
obj
==
null
)
if
(
obj
==
null
)
{
return
false
;
}
String
exp
=
expObj
.
toString
().
trim
();
if
(
StringUtils
.
isEmpty
(
exp
))
if
(
StringUtils
.
isEmpty
(
exp
))
{
return
false
;
}
exp
=
exp
.
replace
(
";"
,
","
);
exp
=
exp
.
replace
(
";"
,
","
);
exp
=
exp
.
replace
(
","
,
","
);
...
...
@@ -403,11 +438,13 @@ public class RuleUtils
public
static
boolean
leftmatchor
(
Object
expObj
,
Object
obj
)
{
if
(
obj
==
null
)
if
(
obj
==
null
)
{
return
false
;
}
String
exp
=
expObj
.
toString
().
trim
();
if
(
StringUtils
.
isEmpty
(
exp
))
if
(
StringUtils
.
isEmpty
(
exp
))
{
return
false
;
}
exp
=
exp
.
replace
(
";"
,
","
);
exp
=
exp
.
replace
(
";"
,
","
);
exp
=
exp
.
replace
(
","
,
","
);
...
...
@@ -416,19 +453,22 @@ public class RuleUtils
for
(
String
strExp:
arr
)
{
bRt
=
obj
.
toString
().
matches
(
strExp
+
"(.*)"
);
if
(
bRt
)
if
(
bRt
)
{
return
true
;
}
}
return
bRt
;
}
public
static
boolean
rightmatchor
(
Object
expObj
,
Object
obj
)
{
if
(
obj
==
null
)
if
(
obj
==
null
)
{
return
false
;
}
String
exp
=
expObj
.
toString
().
trim
();
if
(
StringUtils
.
isEmpty
(
exp
))
if
(
StringUtils
.
isEmpty
(
exp
))
{
return
false
;
}
exp
=
exp
.
replace
(
";"
,
","
);
exp
=
exp
.
replace
(
";"
,
","
);
exp
=
exp
.
replace
(
","
,
","
);
...
...
@@ -437,9 +477,10 @@ public class RuleUtils
for
(
String
strExp:
arr
)
{
bRt
=
obj
.
toString
().
matches
(
"(.*)"
+
strExp
);
if
(
bRt
)
if
(
bRt
)
{
return
true
;
}
}
return
bRt
;
}
...
...
@@ -449,13 +490,16 @@ public class RuleUtils
}
public
static
boolean
matchand
(
Object
expObj
,
Object
obj
)
{
if
(
obj
==
null
)
if
(
obj
==
null
)
{
return
false
;
if
(
expObj
==
null
)
}
if
(
expObj
==
null
){
return
false
;
}
String
exp
=
expObj
.
toString
().
trim
();
if
(
StringUtils
.
isEmpty
(
exp
))
if
(
StringUtils
.
isEmpty
(
exp
))
{
return
false
;
}
exp
=
exp
.
replace
(
";"
,
","
);
exp
=
exp
.
replace
(
";"
,
","
);
exp
=
exp
.
replace
(
","
,
","
);
...
...
@@ -464,12 +508,14 @@ public class RuleUtils
boolean
bRt
=
true
;
for
(
String
strExp:
arr
)
{
if
(
strExp
.
trim
().
length
()==
0
)
if
(
strExp
.
trim
().
length
()==
0
)
{
continue
;
}
bRt
=(
obj
.
toString
()).
matches
(
"(.*)"
+(
strExp
)+
"(.*)"
);
if
(!
bRt
)
if
(!
bRt
)
{
return
false
;
}
}
return
bRt
;
}
...
...
@@ -503,13 +549,15 @@ public class RuleUtils
switch
(
str1
.
hashCode
())
{
case
105
:
if
(
str1
.
equals
(
"i"
))
if
(
str1
.
equals
(
"i"
))
{
i
=
0
;
}
break
;
case
115
:
if
(
str1
.
equals
(
"s"
))
if
(
str1
.
equals
(
"s"
))
{
i
=
1
;
}
}
switch
(
i
)
{
case
0
:
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/job/PermissionSyncJob.java
浏览文件 @
38f046f6
...
...
@@ -49,14 +49,14 @@ public class PermissionSyncJob implements ApplicationRunner {
public
void
run
(
ApplicationArguments
args
)
{
try
{
Thread
.
sleep
(
10000
);
InputStream
permission
=
this
.
getClass
().
getResourceAsStream
(
"/permission/systemResource.json"
);
//获取当前系统所有实体资源能力
InputStream
permission
=
this
.
getClass
().
getResourceAsStream
(
"/permission/systemResource.json"
);
//获取当前系统所有实体资源能力
String
permissionResult
=
IOUtils
.
toString
(
permission
,
"UTF-8"
);
JSONObject
system
=
new
JSONObject
();
system
.
put
(
"pssystemid"
,
systemId
);
system
.
put
(
"pssystemname"
,
systemName
);
system
.
put
(
"sysstructure"
,
JSONObject
.
parseObject
(
permissionResult
));
system
.
put
(
"md5check"
,
DigestUtils
.
md5DigestAsHex
(
permissionResult
.
getBytes
()));
if
(
client
.
syncSysAuthority
(
system
)){
if
(
client
.
syncSysAuthority
(
system
))
{
log
.
info
(
"向[UAA]同步系统资源成功"
);
}
else
{
log
.
error
(
"向[UAA]同步系统资源失败"
);
...
...
@@ -67,9 +67,9 @@ public class PermissionSyncJob implements ApplicationRunner {
}
try
{
InputStream
sysModel
=
this
.
getClass
().
getResourceAsStream
(
"/sysmodel/ibzwf.json"
);
//获取当前系统所有实体资源能力
InputStream
sysModel
=
this
.
getClass
().
getResourceAsStream
(
"/sysmodel/ibzwf.json"
);
//获取当前系统所有实体资源能力
String
strSysModel
=
IOUtils
.
toString
(
sysModel
,
"UTF-8"
);
if
(
liteFeignClient
.
syncSysModel
(
JSONObject
.
parseObject
(
strSysModel
))){
if
(
liteFeignClient
.
syncSysModel
(
JSONObject
.
parseObject
(
strSysModel
)))
{
log
.
info
(
"向[lite]同步系统模型成功"
);
}
else
{
log
.
error
(
"向[lite]同步系统模型失败"
);
...
...
@@ -81,11 +81,11 @@ public class PermissionSyncJob implements ApplicationRunner {
try
{
InputStream
msgTemplate
=
this
.
getClass
().
getResourceAsStream
(
"/msgtempl/systemMsgTempl.json"
);
//获取当前系统所有实体资源能力
InputStream
msgTemplate
=
this
.
getClass
().
getResourceAsStream
(
"/msgtempl/systemMsgTempl.json"
);
//获取当前系统所有实体资源能力
String
strMsgTemplate
=
IOUtils
.
toString
(
msgTemplate
,
"UTF-8"
);
JSONObject
template
=
new
JSONObject
();
template
.
put
(
"template"
,
JSONArray
.
parseArray
(
strMsgTemplate
));
if
(
notifyFeignClient
.
createMsgTemplate
(
template
)){
JSONObject
template
=
new
JSONObject
();
template
.
put
(
"template"
,
JSONArray
.
parseArray
(
strMsgTemplate
));
if
(
notifyFeignClient
.
createMsgTemplate
(
template
))
{
log
.
info
(
"推送消息模板成功"
);
}
else
{
log
.
error
(
"推送消息模板失败"
);
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/rest/AppController.java
浏览文件 @
38f046f6
...
...
@@ -42,12 +42,14 @@ public class AppController {
while
(
it
.
hasNext
())
{
GrantedAuthority
authority
=
(
GrantedAuthority
)
it
.
next
();
String
strAuthority
=
authority
.
getAuthority
();
if
(
strAuthority
.
startsWith
(
"UNIRES_"
+
systemId
))
if
(
strAuthority
.
startsWith
(
"UNIRES_"
+
systemId
))
{
uniRes
.
add
(
strAuthority
.
substring
(
systemId
.
length
()+
8
));
else
if
(
strAuthority
.
startsWith
(
"APPMENU_"
+
systemId
))
}
else
if
(
strAuthority
.
startsWith
(
"APPMENU_"
+
systemId
)){
appMenu
.
add
(
strAuthority
.
substring
(
systemId
.
length
()+
9
));
}
}
}
Map
<
String
,
Object
>
context
=
new
HashMap
<>();
context
.
putAll
(
curUser
.
getSessionParams
());
context
.
put
(
"srfusername"
,
curUser
.
getPersonname
());
...
...
@@ -55,10 +57,12 @@ public class AppController {
appData
.
put
(
"unires"
,
uniRes
);
appData
.
put
(
"appmenu"
,
appMenu
);
appData
.
put
(
"enablepermissionvalid"
,
enablePermissionValid
);
if
(
curUser
.
getSuperuser
()==
1
)
if
(
curUser
.
getSuperuser
()==
1
)
{
appData
.
put
(
"enablepermissionvalid"
,
false
);
else
}
else
{
appData
.
put
(
"enablepermissionvalid"
,
enablePermissionValid
);
}
fillAppData
(
appData
);
return
ResponseEntity
.
status
(
HttpStatus
.
OK
).
body
(
appData
);
}
...
...
@@ -76,16 +80,18 @@ public class AppController {
@RequestMapping
(
method
=
RequestMethod
.
PUT
,
value
=
"/configs/{configType}/{targetType}"
)
public
ResponseEntity
<
Boolean
>
saveConfig
(
@PathVariable
(
"configType"
)
String
configType
,
@PathVariable
(
"targetType"
)
String
targetType
,
@RequestBody
JSONObject
config
)
{
String
userId
=
AuthenticationUser
.
getAuthenticationUser
().
getUserid
();
if
(
StringUtils
.
isEmpty
(
userId
))
if
(
StringUtils
.
isEmpty
(
userId
))
{
throw
new
BadRequestAlertException
(
"保存配置失败,参数缺失"
,
"IBZConfig"
,
configType
);
}
return
ResponseEntity
.
ok
(
ibzConfigService
.
saveConfig
(
configType
,
targetType
,
userId
,
config
));
}
@RequestMapping
(
method
=
RequestMethod
.
GET
,
value
=
"/configs/{configType}/{targetType}"
)
public
ResponseEntity
<
JSONObject
>
getConfig
(
@PathVariable
(
"configType"
)
String
configType
,
@PathVariable
(
"targetType"
)
String
targetType
)
{
String
userId
=
AuthenticationUser
.
getAuthenticationUser
().
getUserid
();
if
(
StringUtils
.
isEmpty
(
userId
))
if
(
StringUtils
.
isEmpty
(
userId
))
{
throw
new
BadRequestAlertException
(
"获取配置失败,参数缺失"
,
"IBZConfig"
,
configType
);
}
return
ResponseEntity
.
ok
(
ibzConfigService
.
getConfig
(
configType
,
targetType
,
userId
));
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/rest/AuthenticationController.java
浏览文件 @
38f046f6
ibzwf-util/src/main/java/cn/ibizlab/util/security/AuthPermissionEvaluator.java
浏览文件 @
38f046f6
...
...
@@ -38,18 +38,22 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
@Override
@SneakyThrows
public
boolean
hasPermission
(
Authentication
authentication
,
Object
entity
,
Object
action
)
{
if
(!
enablePermissionValid
)
if
(!
enablePermissionValid
)
{
return
true
;
}
Object
principal
=
authentication
.
getPrincipal
();
if
(
ObjectUtils
.
isEmpty
(
principal
))
if
(
ObjectUtils
.
isEmpty
(
principal
))
{
return
false
;
}
AuthenticationUser
authenticationUser
=
(
AuthenticationUser
)
authentication
.
getPrincipal
();
if
(
authenticationUser
.
getSuperuser
()==
1
)
if
(
authenticationUser
.
getSuperuser
()==
1
)
{
return
true
;
}
String
strAction
=
String
.
valueOf
(
action
);
Set
<
String
>
userAuthorities
=
getAuthorities
(
authentication
,
strAction
);
if
(
userAuthorities
.
size
()==
0
)
if
(
userAuthorities
.
size
()==
0
)
{
return
false
;
}
if
(
isAllData
(
strAction
,
userAuthorities
)){
return
true
;
}
...
...
@@ -102,8 +106,9 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
*/
@SneakyThrows
private
void
setPermissionCondToSearchContext
(
EntityBase
entity
,
QueryWrapperContext
qc
,
Set
<
String
>
userAuthorities
,
AuthenticationUser
authenticationUser
){
if
(
entity
==
null
)
if
(
entity
==
null
)
{
return
;
}
Map
<
String
,
String
>
permissionField
=
getPermissionField
(
entity
);
//获取组织、部门预置属性
String
orgField
=
permissionField
.
get
(
"orgfield"
);
String
orgDeptField
=
permissionField
.
get
(
"orgsecfield"
);
...
...
@@ -185,9 +190,10 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
Iterator
it
=
authorities
.
iterator
();
while
(
it
.
hasNext
())
{
GrantedAuthority
authority
=
(
GrantedAuthority
)
it
.
next
();
if
(
authority
.
getAuthority
().
contains
(
action
))
if
(
authority
.
getAuthority
().
contains
(
action
))
{
userAuthorities
.
add
(
authority
.
getAuthority
());
}
}
return
userAuthorities
;
}
...
...
@@ -253,23 +259,27 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
}
if
(
action
.
endsWith
(
"Create"
)
||
action
.
endsWith
(
"Save"
)){
if
(!
ObjectUtils
.
isEmpty
(
orgFieldValue
)
&&
!
userOrg
.
contains
(
orgFieldValue
))
if
(!
ObjectUtils
.
isEmpty
(
orgFieldValue
)
&&
!
userOrg
.
contains
(
orgFieldValue
))
{
return
false
;
if
(!
ObjectUtils
.
isEmpty
(
orgDeptFieldValue
)
&&
!
userOrgDept
.
contains
(
orgDeptFieldValue
))
}
if
(!
ObjectUtils
.
isEmpty
(
orgDeptFieldValue
)
&&
!
userOrgDept
.
contains
(
orgDeptFieldValue
)){
return
false
;
if
(!
ObjectUtils
.
isEmpty
(
crateManFieldValue
)
&&
!
authenticationUser
.
getUserid
().
equals
(
crateManFieldValue
))
}
if
(!
ObjectUtils
.
isEmpty
(
crateManFieldValue
)
&&
!
authenticationUser
.
getUserid
().
equals
(
crateManFieldValue
)){
return
false
;
}
return
true
;
}
else
{
if
(!
ObjectUtils
.
isEmpty
(
orgFieldValue
)
&&
userOrg
.
contains
(
orgFieldValue
))
if
(!
ObjectUtils
.
isEmpty
(
orgFieldValue
)
&&
userOrg
.
contains
(
orgFieldValue
))
{
return
true
;
if
(!
ObjectUtils
.
isEmpty
(
orgDeptFieldValue
)
&&
userOrgDept
.
contains
(
orgDeptFieldValue
))
}
if
(!
ObjectUtils
.
isEmpty
(
orgDeptFieldValue
)
&&
userOrgDept
.
contains
(
orgDeptFieldValue
)){
return
true
;
if
(!
ObjectUtils
.
isEmpty
(
crateManFieldValue
)
&&
authenticationUser
.
getUserid
().
equals
(
crateManFieldValue
))
}
if
(!
ObjectUtils
.
isEmpty
(
crateManFieldValue
)
&&
authenticationUser
.
getUserid
().
equals
(
crateManFieldValue
)){
return
true
;
}
return
false
;
}
}
...
...
@@ -293,13 +303,19 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
String
fieldName
=
entry
.
getKey
();
//获取注解字段
DEField
fieldAnnotation
=
entry
.
getValue
();
//获取注解值
DEPredefinedFieldType
prefieldType
=
fieldAnnotation
.
preType
();
if
(
prefieldType
==
prefieldType
.
ORGID
)
//用户配置系统预置属性-组织机构标识
//用户配置系统预置属性-组织机构标识
if
(
prefieldType
==
prefieldType
.
ORGID
){
orgField
=
fieldName
;
if
(
prefieldType
==
prefieldType
.
ORGSECTORID
)
//用户配置系统预置属性-部门标识
}
//用户配置系统预置属性-部门标识
if
(
prefieldType
==
prefieldType
.
ORGSECTORID
){
orgDeptField
=
fieldName
;
if
(
prefieldType
==
prefieldType
.
CREATEMAN
)
//用户配置系统预置属性-部门标识
}
//用户配置系统预置属性-部门标识
if
(
prefieldType
==
prefieldType
.
CREATEMAN
){
createManField
=
fieldName
;
}
}
permissionFiled
.
put
(
"orgfield"
,
orgField
);
permissionFiled
.
put
(
"orgsecfield"
,
orgDeptField
);
permissionFiled
.
put
(
"createmanfield"
,
createManField
);
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/security/AuthenticationUser.java
浏览文件 @
38f046f6
...
...
@@ -260,11 +260,13 @@ public class AuthenticationUser implements UserDetails
return
this
.
sessionParams
;
}
private
Map
<
String
,
Object
>
getUserSessionParam
()
{
if
(
userSessionParam
!=
null
)
if
(
userSessionParam
!=
null
)
{
return
userSessionParam
;
else
}
else
{
return
new
HashMap
<>();
}
}
public
void
setOrgInfo
(
Map
<
String
,
Set
<
String
>>
orgInfo
)
{
this
.
orgInfo
=
orgInfo
;
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/service/IBZConfigService.java
浏览文件 @
38f046f6
...
...
@@ -29,8 +29,9 @@ public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> im
@Cacheable
(
value
=
"ibzrt_configs"
,
key
=
"'cfgid:'+#p0+'||'+#p1+'||'+#p2"
)
public
JSONObject
getConfig
(
String
cfgType
,
String
targetType
,
String
userId
)
{
if
(
StringUtils
.
isEmpty
(
userId
)||
StringUtils
.
isEmpty
(
cfgType
)||
StringUtils
.
isEmpty
(
targetType
))
if
(
StringUtils
.
isEmpty
(
userId
)||
StringUtils
.
isEmpty
(
cfgType
)||
StringUtils
.
isEmpty
(
targetType
))
{
throw
new
BadRequestAlertException
(
"获取配置失败,参数缺失"
,
"IBZConfig"
,
cfgType
);
}
IBZConfig
config
=
this
.
getOne
(
Wrappers
.
query
(
IBZConfig
.
builder
().
systemId
(
systemId
).
cfgType
(
cfgType
).
targetType
(
targetType
).
userId
(
userId
).
build
()),
false
);
if
(
config
==
null
)
{
config
=
this
.
getOne
(
Wrappers
.
query
(
IBZConfig
.
builder
().
systemId
(
systemId
).
cfgType
(
cfgType
).
targetType
(
targetType
).
userId
(
adminuserid
).
build
()),
false
);
...
...
@@ -44,19 +45,22 @@ public class IBZConfigService extends ServiceImpl<IBZConfigMapper, IBZConfig> im
@CacheEvict
(
value
=
"ibzrt_configs"
,
key
=
"'cfgid:'+#p0+'||'+#p1+'||'+#p2"
)
public
boolean
saveConfig
(
String
cfgType
,
String
targetType
,
String
userId
,
JSONObject
config
)
{
if
(
StringUtils
.
isEmpty
(
userId
)||
StringUtils
.
isEmpty
(
cfgType
)||
StringUtils
.
isEmpty
(
targetType
))
if
(
StringUtils
.
isEmpty
(
userId
)||
StringUtils
.
isEmpty
(
cfgType
)||
StringUtils
.
isEmpty
(
targetType
))
{
throw
new
BadRequestAlertException
(
"保存配置失败,参数缺失"
,
"IBZConfig"
,
cfgType
);
}
String
cfg
=
"{}"
;
if
(
config
!=
null
)
if
(
config
!=
null
)
{
cfg
=
JSONObject
.
toJSONString
(
config
);
}
return
this
.
saveOrUpdate
(
IBZConfig
.
builder
().
systemId
(
systemId
).
cfgType
(
cfgType
).
targetType
(
targetType
).
userId
(
userId
).
cfg
(
cfg
).
updateDate
(
DataObject
.
getNow
()).
build
());
}
@CacheEvict
(
value
=
"ibzrt_configs"
,
key
=
"'cfgid:'+#p0+'||'+#p1+'||'+#p2"
)
public
void
resetConfig
(
String
cfgType
,
String
targetType
,
String
userId
)
{
if
(
StringUtils
.
isEmpty
(
userId
)||
StringUtils
.
isEmpty
(
cfgType
)||
StringUtils
.
isEmpty
(
targetType
))
if
(
StringUtils
.
isEmpty
(
userId
)||
StringUtils
.
isEmpty
(
cfgType
)||
StringUtils
.
isEmpty
(
targetType
))
{
throw
new
BadRequestAlertException
(
"重置配置失败,参数缺失"
,
"IBZConfig"
,
cfgType
);
}
this
.
remove
(
Wrappers
.
query
(
IBZConfig
.
builder
().
systemId
(
systemId
).
cfgType
(
cfgType
).
targetType
(
targetType
).
userId
(
userId
).
build
()));
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/service/IBZUAAUserService.java
浏览文件 @
38f046f6
...
...
@@ -26,10 +26,10 @@ public class IBZUAAUserService implements AuthenticationUserService{
@Override
public
AuthenticationUser
loadUserByUsername
(
String
username
)
{
AuthenticationUser
user
=
uaaFeignClient
.
loginByUsername
(
username
);
if
(
user
==
null
)
if
(
user
==
null
)
{
throw
new
BadRequestAlertException
(
"登录失败"
,
"IBZUAAUser"
,
username
);
}
return
user
;
}
...
...
@@ -48,8 +48,9 @@ public class IBZUAAUserService implements AuthenticationUserService{
logininfo
.
setLoginname
(
loginname
);
logininfo
.
setPassword
(
password
);
AuthenticationUser
user
=
uaaFeignClient
.
login
(
logininfo
);
if
(
user
==
null
)
if
(
user
==
null
)
{
throw
new
BadRequestAlertException
(
"登录失败"
,
"IBZUAAUser"
,
username
);
}
return
user
;
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/service/SimpleAuditService.java
浏览文件 @
38f046f6
...
...
@@ -42,13 +42,15 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
*/
@Scheduled
(
fixedRate
=
10000
)
public
void
saveAudit
()
{
if
(
cacheMap
.
size
()>
0
){
if
(
cacheMap
.
size
()>
0
)
{
log
.
info
(
String
.
format
(
"正在保存审计数据,当前审计集合数量为[%s]"
,
cacheMap
.
size
()));
List
temp
=
new
ArrayList
();
if
(
cacheMap
.
size
()<
500
)
if
(
cacheMap
.
size
()<
500
)
{
temp
.
addAll
(
cacheMap
);
else
}
else
{
temp
.
addAll
(
cacheMap
.
subList
(
0
,
500
));
}
this
.
saveBatch
(
temp
);
cacheMap
.
removeAll
(
temp
);
log
.
info
(
String
.
format
(
"保存完成,当前审计集合数量为[%s]"
,
cacheMap
.
size
()));
...
...
@@ -64,16 +66,17 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
*/
@Override
public
void
createAudit
(
HttpServletRequest
request
,
EntityBase
entity
,
Object
idValue
,
Map
<
String
,
Audit
>
auditFields
)
{
IBZDataAudit
dataAudit
=
new
IBZDataAudit
();
IBZDataAudit
dataAudit
=
new
IBZDataAudit
();
dataAudit
.
setOppersonid
(
AuthenticationUser
.
getAuthenticationUser
().
getUserid
());
dataAudit
.
setOppersonname
(
String
.
format
(
"%s[%s]"
,
AuthenticationUser
.
getAuthenticationUser
().
getPersonname
(),
AuthenticationUser
.
getAuthenticationUser
().
getOrgname
()));
dataAudit
.
setAudittype
(
"CREATE"
);
dataAudit
.
setAuditobject
(
entity
.
getClass
().
getSimpleName
());
dataAudit
.
setAuditobjectdata
(
idValue
);
dataAudit
.
setOptime
(
new
Timestamp
(
new
Date
().
getTime
()));
if
(
request
!=
null
)
if
(
request
!=
null
)
{
dataAudit
.
setIpaddress
(
getIpAddress
(
request
,
AuthenticationUser
.
getAuthenticationUser
()));
dataAudit
.
setAuditinfo
(
getAuditInfo
(
entity
,
auditFields
));
}
dataAudit
.
setAuditinfo
(
getAuditInfo
(
entity
,
auditFields
));
dataAudit
.
setIsdatachanged
(
1
);
cacheMap
.
add
(
dataAudit
);
}
...
...
@@ -87,24 +90,26 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @param auditFields
*/
@SneakyThrows
public
void
updateAudit
(
HttpServletRequest
request
,
EntityBase
beforeEntity
,
Object
serviceObj
,
Object
idValue
,
Map
<
String
,
Audit
>
auditFields
){
public
void
updateAudit
(
HttpServletRequest
request
,
EntityBase
beforeEntity
,
Object
serviceObj
,
Object
idValue
,
Map
<
String
,
Audit
>
auditFields
)
{
//获取更新后的实体
EntityBase
afterEntity
=
getEntity
(
serviceObj
,
idValue
);
EntityBase
afterEntity
=
getEntity
(
serviceObj
,
idValue
);
//获取更新后的审计内容
String
auditInfo
=
getUpdateAuditInfo
(
beforeEntity
,
afterEntity
,
auditFields
);
//比较更新前后差异内容
int
isDataChanged
=
1
;
if
(
StringUtils
.
isEmpty
(
auditInfo
))
//审计内容是否发生变化
isDataChanged
=
0
;
IBZDataAudit
dataAudit
=
new
IBZDataAudit
();
String
auditInfo
=
getUpdateAuditInfo
(
beforeEntity
,
afterEntity
,
auditFields
);
//比较更新前后差异内容
int
isDataChanged
=
1
;
//审计内容是否发生变化
if
(
StringUtils
.
isEmpty
(
auditInfo
))
{
isDataChanged
=
0
;
}
IBZDataAudit
dataAudit
=
new
IBZDataAudit
();
dataAudit
.
setOppersonid
(
AuthenticationUser
.
getAuthenticationUser
().
getUserid
());
dataAudit
.
setOppersonname
(
String
.
format
(
"%s[%s]"
,
AuthenticationUser
.
getAuthenticationUser
().
getPersonname
(),
AuthenticationUser
.
getAuthenticationUser
().
getOrgname
()));
dataAudit
.
setOppersonname
(
String
.
format
(
"%s[%s]"
,
AuthenticationUser
.
getAuthenticationUser
().
getPersonname
(),
AuthenticationUser
.
getAuthenticationUser
().
getOrgname
()));
dataAudit
.
setAudittype
(
"UPDATE"
);
dataAudit
.
setAuditobject
(
afterEntity
.
getClass
().
getSimpleName
());
dataAudit
.
setAuditobjectdata
(
idValue
);
dataAudit
.
setOptime
(
new
Timestamp
(
new
Date
().
getTime
()));
if
(
request
!=
null
)
if
(
request
!=
null
)
{
dataAudit
.
setIpaddress
(
getIpAddress
(
request
,
AuthenticationUser
.
getAuthenticationUser
()));
}
dataAudit
.
setAuditinfo
(
auditInfo
);
dataAudit
.
setIsdatachanged
(
isDataChanged
);
cacheMap
.
add
(
dataAudit
);
...
...
@@ -117,53 +122,55 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @param idValue
* @param auditFields
*/
public
void
removeAudit
(
HttpServletRequest
request
,
EntityBase
entity
,
Object
idValue
,
Map
<
String
,
Audit
>
auditFields
)
{
IBZDataAudit
dataAudit
=
new
IBZDataAudit
();
public
void
removeAudit
(
HttpServletRequest
request
,
EntityBase
entity
,
Object
idValue
,
Map
<
String
,
Audit
>
auditFields
)
{
IBZDataAudit
dataAudit
=
new
IBZDataAudit
();
dataAudit
.
setOppersonid
(
AuthenticationUser
.
getAuthenticationUser
().
getUserid
());
dataAudit
.
setOppersonname
(
String
.
format
(
"%s[%s]"
,
AuthenticationUser
.
getAuthenticationUser
().
getPersonname
(),
AuthenticationUser
.
getAuthenticationUser
().
getOrgname
()));
dataAudit
.
setOppersonname
(
String
.
format
(
"%s[%s]"
,
AuthenticationUser
.
getAuthenticationUser
().
getPersonname
(),
AuthenticationUser
.
getAuthenticationUser
().
getOrgname
()));
dataAudit
.
setAudittype
(
"REMOVE"
);
dataAudit
.
setAuditobject
(
entity
.
getClass
().
getSimpleName
());
dataAudit
.
setAuditobjectdata
(
idValue
);
dataAudit
.
setOptime
(
new
Timestamp
(
new
Date
().
getTime
()));
if
(
request
!=
null
)
if
(
request
!=
null
)
{
dataAudit
.
setIpaddress
(
getIpAddress
(
request
,
AuthenticationUser
.
getAuthenticationUser
()));
dataAudit
.
setAuditinfo
(
getAuditInfo
(
entity
,
auditFields
));
}
dataAudit
.
setAuditinfo
(
getAuditInfo
(
entity
,
auditFields
));
dataAudit
.
setIsdatachanged
(
1
);
cacheMap
.
add
(
dataAudit
);
}
private
String
getAuditInfo
(
EntityBase
entity
,
Map
<
String
,
Audit
>
auditFields
){
String
auditResult
=
""
;
if
(
auditFields
.
size
()
==
0
)
private
String
getAuditInfo
(
EntityBase
entity
,
Map
<
String
,
Audit
>
auditFields
)
{
String
auditResult
=
""
;
if
(
auditFields
.
size
()
==
0
)
{
return
auditResult
;
Map
<
String
,
DEField
>
deFields
=
DEFieldCacheMap
.
getDEFields
(
entity
.
getClass
());
if
(
deFields
.
size
()
==
0
)
}
Map
<
String
,
DEField
>
deFields
=
DEFieldCacheMap
.
getDEFields
(
entity
.
getClass
());
if
(
deFields
.
size
()
==
0
)
{
return
auditResult
;
JSONArray
auditFieldArray
=
new
JSONArray
();
}
JSONArray
auditFieldArray
=
new
JSONArray
();
for
(
Map
.
Entry
<
String
,
Audit
>
auditField
:
auditFields
.
entrySet
())
{
Object
objFieldName
=
auditField
.
getKey
();
String
fieldName
=
String
.
valueOf
(
objFieldName
);
DEField
deField
=
null
;
if
(
deFields
.
containsKey
(
fieldName
)){
deField
=
deFields
.
get
(
fieldName
);
Object
objFieldName
=
auditField
.
getKey
();
String
fieldName
=
String
.
valueOf
(
objFieldName
);
DEField
deField
=
null
;
if
(
deFields
.
containsKey
(
fieldName
))
{
deField
=
deFields
.
get
(
fieldName
);
}
if
(
ObjectUtils
.
isEmpty
(
deField
))
if
(
ObjectUtils
.
isEmpty
(
deField
))
{
continue
;
Object
value
=
dataTransfer
(
entity
.
get
(
fieldName
),
deField
.
fieldType
(),
deField
.
format
());
if
(!
StringUtils
.
isEmpty
(
value
)){
JSONObject
auditFieldObj
=
new
JSONObject
();
auditFieldObj
.
put
(
"field"
,
deField
.
value
());
auditFieldObj
.
put
(
"value"
,
value
);
if
(!
StringUtils
.
isEmpty
(
deField
.
dict
())){
auditFieldObj
.
put
(
"dict"
,
deField
.
dict
());
}
Object
value
=
dataTransfer
(
entity
.
get
(
fieldName
),
deField
.
fieldType
(),
deField
.
format
());
if
(!
StringUtils
.
isEmpty
(
value
))
{
JSONObject
auditFieldObj
=
new
JSONObject
();
auditFieldObj
.
put
(
"field"
,
deField
.
value
());
auditFieldObj
.
put
(
"value"
,
value
);
if
(!
StringUtils
.
isEmpty
(
deField
.
dict
()))
{
auditFieldObj
.
put
(
"dict"
,
deField
.
dict
());
}
auditFieldArray
.
add
(
auditFieldObj
);
}
}
if
(
auditFieldArray
.
size
()>
0
){
auditResult
=
auditFieldArray
.
toString
();
if
(
auditFieldArray
.
size
()>
0
)
{
auditResult
=
auditFieldArray
.
toString
();
}
return
auditResult
;
}
...
...
@@ -176,41 +183,44 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @return
*/
private
String
getUpdateAuditInfo
(
EntityBase
oldData
,
EntityBase
newData
,
Map
<
String
,
Audit
>
auditFields
){
String
auditResult
=
""
;
JSONArray
auditFieldArray
=
new
JSONArray
();
if
(
auditFields
.
size
()
==
0
)
String
auditResult
=
""
;
JSONArray
auditFieldArray
=
new
JSONArray
();
if
(
auditFields
.
size
()
==
0
)
{
return
auditResult
;
}
Map
<
String
,
DEField
>
deFields
=
DEFieldCacheMap
.
getDEFields
(
oldData
.
getClass
());
if
(
deFields
.
size
()
==
0
)
Map
<
String
,
DEField
>
deFields
=
DEFieldCacheMap
.
getDEFields
(
oldData
.
getClass
());
if
(
deFields
.
size
()
==
0
){
return
auditResult
;
}
for
(
Map
.
Entry
<
String
,
Audit
>
auditField
:
auditFields
.
entrySet
())
{
Object
objFieldName
=
auditField
.
getKey
();
//获取注解字段
String
fieldName
=
String
.
valueOf
(
objFieldName
);
//属性名称
DEField
deField
=
null
;
if
(
deFields
.
containsKey
(
fieldName
)){
deField
=
deFields
.
get
(
fieldName
);
Object
objFieldName
=
auditField
.
getKey
();
//获取注解字段
String
fieldName
=
String
.
valueOf
(
objFieldName
);
//属性名称
DEField
deField
=
null
;
if
(
deFields
.
containsKey
(
fieldName
))
{
deField
=
deFields
.
get
(
fieldName
);
}
if
(
ObjectUtils
.
isEmpty
(
deField
))
if
(
ObjectUtils
.
isEmpty
(
deField
))
{
continue
;
Object
oldValue
=
oldData
.
get
(
fieldName
);
//老属性值
Object
newValue
=
newData
.
get
(
fieldName
);
//新属性值
if
(!
compare
(
oldValue
,
newValue
)){
oldValue
=
dataTransfer
(
oldValue
,
deField
.
fieldType
(),
deField
.
format
());
//属性值转换
newValue
=
dataTransfer
(
newValue
,
deField
.
fieldType
(),
deField
.
format
());
//属性值转换
JSONObject
auditFieldObj
=
new
JSONObject
();
auditFieldObj
.
put
(
"field"
,
deField
.
value
());
auditFieldObj
.
put
(
"beforevalue"
,
oldValue
);
auditFieldObj
.
put
(
"value"
,
newValue
);
if
(!
StringUtils
.
isEmpty
(
deField
.
dict
())){
auditFieldObj
.
put
(
"dict"
,
deField
.
dict
());
}
Object
oldValue
=
oldData
.
get
(
fieldName
);
//老属性值
Object
newValue
=
newData
.
get
(
fieldName
);
//新属性值
if
(!
compare
(
oldValue
,
newValue
))
{
oldValue
=
dataTransfer
(
oldValue
,
deField
.
fieldType
(),
deField
.
format
());
//属性值转换
newValue
=
dataTransfer
(
newValue
,
deField
.
fieldType
(),
deField
.
format
());
//属性值转换
JSONObject
auditFieldObj
=
new
JSONObject
();
auditFieldObj
.
put
(
"field"
,
deField
.
value
());
auditFieldObj
.
put
(
"beforevalue"
,
oldValue
);
auditFieldObj
.
put
(
"value"
,
newValue
);
if
(!
StringUtils
.
isEmpty
(
deField
.
dict
()))
{
auditFieldObj
.
put
(
"dict"
,
deField
.
dict
());
}
auditFieldArray
.
add
(
auditFieldObj
);
}
}
if
(
auditFieldArray
.
size
()>
0
){
auditResult
=
auditFieldArray
.
toString
();
if
(
auditFieldArray
.
size
()>
0
)
{
auditResult
=
auditFieldArray
.
toString
();
}
return
auditResult
;
}
...
...
@@ -222,15 +232,16 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @param strFormat 转换字段格式化文本
* @return
*/
private
String
dataTransfer
(
Object
value
,
String
dataType
,
String
strFormat
)
{
if
(
value
==
null
)
private
String
dataTransfer
(
Object
value
,
String
dataType
,
String
strFormat
)
{
if
(
value
==
null
)
{
return
""
;
}
String
transResult
=
value
.
toString
();
if
((
dataType
.
equals
(
"DATE"
)
||
dataType
.
equals
(
"DATETIME"
)
||
dataType
.
equals
(
"TIME"
))
&&
(!
StringUtils
.
isEmpty
(
strFormat
))){
//时间类型转换
Timestamp
timestamp
=(
Timestamp
)
value
;
Date
date
=
timestamp
;
SimpleDateFormat
format
=
new
SimpleDateFormat
(
strFormat
);
transResult
=
format
.
format
(
date
);
if
((
dataType
.
equals
(
"DATE"
)
||
dataType
.
equals
(
"DATETIME"
)
||
dataType
.
equals
(
"TIME"
))
&&
(!
StringUtils
.
isEmpty
(
strFormat
)))
{
//时间类型转换
Timestamp
timestamp
=
(
Timestamp
)
value
;
Date
date
=
timestamp
;
SimpleDateFormat
format
=
new
SimpleDateFormat
(
strFormat
);
transResult
=
format
.
format
(
date
);
}
return
transResult
;
}
...
...
@@ -241,11 +252,13 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @param targetObj 比较目标对象
* @return
*/
private
boolean
compare
(
Object
sourceObj
,
Object
targetObj
)
{
if
(
sourceObj
==
null
&&
targetObj
==
null
)
private
boolean
compare
(
Object
sourceObj
,
Object
targetObj
)
{
if
(
sourceObj
==
null
&&
targetObj
==
null
)
{
return
true
;
if
(
sourceObj
==
null
&&
targetObj
!=
null
)
}
if
(
sourceObj
==
null
&&
targetObj
!=
null
)
{
return
false
;
}
return
sourceObj
.
equals
(
targetObj
);
}
...
...
@@ -256,9 +269,9 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
* @return
*/
@SneakyThrows
private
EntityBase
getEntity
(
Object
service
,
Object
id
){
EntityBase
entity
=
null
;
if
(!
ObjectUtils
.
isEmpty
(
service
)){
private
EntityBase
getEntity
(
Object
service
,
Object
id
)
{
EntityBase
entity
=
null
;
if
(!
ObjectUtils
.
isEmpty
(
service
))
{
EvaluationContext
oldContext
=
new
StandardEvaluationContext
();
oldContext
.
setVariable
(
"service"
,
service
);
oldContext
.
setVariable
(
"id"
,
id
);
...
...
@@ -275,14 +288,15 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
*/
public
String
getIpAddress
(
HttpServletRequest
request
,
AuthenticationUser
authenticationUser
)
{
//客户端有提交ip,以提交的ip为准
if
(
authenticationUser
!=
null
&&
!
StringUtils
.
isEmpty
(
authenticationUser
.
getAddr
())){
if
(
authenticationUser
!=
null
&&
!
StringUtils
.
isEmpty
(
authenticationUser
.
getAddr
()))
{
return
authenticationUser
.
getAddr
();
}
if
(
request
==
null
)
if
(
request
==
null
)
{
return
""
;
}
String
Xip
=
request
.
getHeader
(
"X-Real-IP"
);
String
XFor
=
request
.
getHeader
(
"X-Forwarded-For"
);
if
(!
StringUtils
.
isEmpty
(
XFor
)
&&
!
"unKnown"
.
equalsIgnoreCase
(
XFor
)){
if
(!
StringUtils
.
isEmpty
(
XFor
)
&&
!
"unKnown"
.
equalsIgnoreCase
(
XFor
))
{
//多次反向代理后会有多个ip值,第一个ip才是真实ip
int
index
=
XFor
.
indexOf
(
","
);
if
(
index
!=
-
1
){
...
...
@@ -292,7 +306,7 @@ public class SimpleAuditService extends ServiceImpl<IBZDataAuditMapper, IBZDataA
}
}
XFor
=
Xip
;
if
(!
StringUtils
.
isEmpty
(
XFor
)
&&
!
"unKnown"
.
equalsIgnoreCase
(
XFor
)){
if
(!
StringUtils
.
isEmpty
(
XFor
)
&&
!
"unKnown"
.
equalsIgnoreCase
(
XFor
))
{
return
XFor
;
}
if
(
StringUtils
.
isEmpty
(
XFor
)
||
"unknown"
.
equalsIgnoreCase
(
XFor
))
{
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/service/SimpleFileService.java
浏览文件 @
38f046f6
...
...
@@ -23,20 +23,21 @@ public class SimpleFileService implements FileService {
@Override
public
FileItem
saveFile
(
MultipartFile
multipartFile
)
{
FileItem
item
=
null
;
FileItem
item
=
null
;
// 获取文件名
String
fileName
=
multipartFile
.
getOriginalFilename
();
// 获取文件后缀
String
extname
=
"."
+
getExtensionName
(
fileName
);
String
extname
=
"."
+
getExtensionName
(
fileName
);
try
{
String
fileid
=
DigestUtils
.
md5DigestAsHex
(
multipartFile
.
getInputStream
());
String
fileid
=
DigestUtils
.
md5DigestAsHex
(
multipartFile
.
getInputStream
());
String
fileFullPath
=
this
.
fileRoot
+
"ibizutil"
+
File
.
separator
+
fileid
+
File
.
separator
+
fileName
;
File
file
=
new
File
(
fileFullPath
);
File
parent
=
new
File
(
file
.
getParent
());
if
(!
parent
.
exists
())
if
(!
parent
.
exists
())
{
parent
.
mkdirs
();
FileCopyUtils
.
copy
(
multipartFile
.
getInputStream
(),
Files
.
newOutputStream
(
file
.
toPath
()));
item
=
new
FileItem
(
fileid
,
fileName
,
fileid
,
fileName
,(
int
)
multipartFile
.
getSize
(),
extname
);
}
FileCopyUtils
.
copy
(
multipartFile
.
getInputStream
(),
Files
.
newOutputStream
(
file
.
toPath
()));
item
=
new
FileItem
(
fileid
,
fileName
,
fileid
,
fileName
,
(
int
)
multipartFile
.
getSize
(),
extname
);
}
catch
(
IOException
e
)
{
throw
new
InternalServerErrorException
(
"文件上传失败,"
+
e
);
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/web/FeignRequestInterceptor.java
浏览文件 @
38f046f6
...
...
@@ -29,8 +29,9 @@ public class FeignRequestInterceptor implements RequestInterceptor {
if
(
headerNames
!=
null
)
{
while
(
headerNames
.
hasMoreElements
())
{
String
name
=
headerNames
.
nextElement
();
if
(
name
.
equalsIgnoreCase
(
"transfer-encoding"
))
if
(
name
.
equalsIgnoreCase
(
"transfer-encoding"
))
{
continue
;
}
String
values
=
request
.
getHeader
(
name
);
requestTemplate
.
header
(
name
,
values
);
}
...
...
ibzwf-util/src/main/java/cn/ibizlab/util/web/IBZOperationParameterReader.java
浏览文件 @
38f046f6
ibzwf-util/src/main/java/cn/ibizlab/util/web/SearchContextHandlerMethodArgumentResolver.java
浏览文件 @
38f046f6
...
...
@@ -41,7 +41,4 @@ public class SearchContextHandlerMethodArgumentResolver implements HandlerMethod
String
json
=
objectMapper
.
writeValueAsString
(
set
);
return
objectMapper
.
readValue
(
json
,
parameter
.
getParameterType
());
}
}
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录