Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
public-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenzy
public-platform
Commits
1055f81c
Commit
1055f81c
authored
Jan 15, 2024
by
lanmw
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新内网代码
parent
fab1cd77
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
898 additions
and
69 deletions
+898
-69
PublicConstant.java
...obile/publicplatform/runtime/constant/PublicConstant.java
+5
-1
PortalApprovalProcessController.java
...m/runtime/controller/PortalApprovalProcessController.java
+28
-8
ProcessManageController.java
...cplatform/runtime/controller/ProcessManageController.java
+39
-0
PropertyManageController.java
...platform/runtime/controller/PropertyManageController.java
+49
-0
ApprovalPostPortalDTO.java
...untime/model/dto/portalprocess/ApprovalPostPortalDTO.java
+155
-0
ApprovalProcessDTO.java
...m/runtime/model/dto/portalprocess/ApprovalProcessDTO.java
+163
-15
ApprovalProcessPortalDTO.java
...ime/model/dto/portalprocess/ApprovalProcessPortalDTO.java
+8
-1
ApprovedDTO.java
...platform/runtime/model/dto/portalprocess/ApprovedDTO.java
+1
-1
ProcessInterruptCallBackDTO.java
.../model/dto/portalprocess/ProcessInterruptCallBackDTO.java
+3
-3
ProcessInterruptDTO.java
.../runtime/model/dto/processmanage/ProcessInterruptDTO.java
+22
-0
ProcessInterruptPortalDTO.java
...me/model/dto/processmanage/ProcessInterruptPortalDTO.java
+37
-0
PropertyBatchDeleteDTO.java
...time/model/dto/propertyManage/PropertyBatchDeleteDTO.java
+30
-0
PropertyBatchSaveDTO.java
...untime/model/dto/propertyManage/PropertyBatchSaveDTO.java
+53
-0
ProcessPropertyAbstract.java
...latform/runtime/model/entity/ProcessPropertyAbstract.java
+64
-0
ProcessRelationAbstract.java
...latform/runtime/model/entity/ProcessRelationAbstract.java
+7
-12
ProcessPropertyRepository.java
...latform/runtime/repository/ProcessPropertyRepository.java
+24
-0
ProcessRelationRepository.java
...latform/runtime/repository/ProcessRelationRepository.java
+2
-1
PortalApprovalProcessService.java
...latform/runtime/service/PortalApprovalProcessService.java
+7
-7
ProcessManageService.java
.../publicplatform/runtime/service/ProcessManageService.java
+16
-0
PropertyManageService.java
...publicplatform/runtime/service/PropertyManageService.java
+25
-0
PortalApprovalProcessServiceImpl.java
...untime/service/impl/PortalApprovalProcessServiceImpl.java
+31
-18
ProcessManageServiceImpl.java
...atform/runtime/service/impl/ProcessManageServiceImpl.java
+68
-0
PropertyManageServiceImpl.java
...tform/runtime/service/impl/PropertyManageServiceImpl.java
+51
-0
RestTemplateUtils.java
...mobile/publicplatform/runtime/util/RestTemplateUtils.java
+10
-2
No files found.
runtime/src/main/java/com/keymobile/publicplatform/runtime/constant/PublicConstant.java
View file @
1055f81c
...
...
@@ -8,6 +8,10 @@ package com.keymobile.publicplatform.runtime.constant;
public
class
PublicConstant
{
//PO URL
//发起portal审批流程接口
//发起portal
资产
审批流程接口
public
static
final
String
APPROVAL_PROCESS_URL
=
"/RESTAdapter/DAP/PropertyProcssInterface"
;
//发起portal岗位审批流程接口
public
static
final
String
PROCESS_POST_URL
=
"/RESTAdapter/DAP/PropertyPowerProcessInterface"
;
//portal审批流程中止接口
public
static
final
String
PROCESS_INTERRUPT_URL
=
"/RESTAdapter/DAP/PropertyPowerProcessInterface"
;
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/controller/PortalApprovalProcessController.java
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
controller
;
import
com.keymobile.publicplatform.runtime.model.Result
;
import
com.keymobile.publicplatform.runtime.model.dto.ApprovalProcessDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.ApprovedDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.
ProcessSuspend
DTO
;
import
com.keymobile.publicplatform.runtime.model.dto.
portalprocess.
ApprovalProcessDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.
portalprocess.
ApprovedDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.
portalprocess.ProcessInterruptCallBack
DTO
;
import
com.keymobile.publicplatform.runtime.service.PortalApprovalProcessService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -26,49 +26,69 @@ public class PortalApprovalProcessController {
@Autowired
private
PortalApprovalProcessService
portalApprovalProcessService
;
/**
* 发起portal审批流程
*/
@PostMapping
(
"/propertyProcess"
)
public
Result
<
Void
>
propertyProcess
(
@RequestBody
@Validated
ApprovalProcessDTO
param
)
{
portalApprovalProcessService
.
propertyProcess
(
param
);
return
Result
.
ok
();
}
/**
* 流程审批通过回调(发布)
*/
@PostMapping
(
"/workFlowReleaseApprovedCallBack"
)
public
Result
<
Void
>
workFlowReleaseApprovedCallBack
(
@RequestBody
@Validated
ApprovedDTO
param
)
{
portalApprovalProcessService
.
workFlowReleaseApprovedCallBack
(
param
);
return
Result
.
ok
();
}
/**
* 流程审批不通过回调(发布)
*/
@PostMapping
(
"/workFlowReleaseRejectedCallBack"
)
public
Result
<
Void
>
workFlowReleaseRejectedCallBack
(
@RequestBody
@Validated
Process
Suspend
DTO
param
)
{
public
Result
<
Void
>
workFlowReleaseRejectedCallBack
(
@RequestBody
@Validated
Process
InterruptCallBack
DTO
param
)
{
portalApprovalProcessService
.
workFlowReleaseRejectedCallBack
(
param
);
return
Result
.
ok
();
}
/**
* 流程审批中止回调(发布)
*/
@PostMapping
(
"/workFlowReleaseInterruptedCallBack"
)
public
Result
<
Void
>
workFlowReleaseInterruptedCallBack
(
@RequestBody
@Validated
Process
Suspend
DTO
param
)
{
public
Result
<
Void
>
workFlowReleaseInterruptedCallBack
(
@RequestBody
@Validated
Process
InterruptCallBack
DTO
param
)
{
portalApprovalProcessService
.
workFlowReleaseInterruptedCallBack
(
param
);
return
Result
.
ok
();
}
/**
* 流程审批通过回调(岗位)
*/
@PostMapping
(
"/workFlowPostAuthorApprovedCallBack"
)
public
Result
<
Void
>
workFlowPostAuthorApprovedCallBack
(
@RequestBody
@Validated
ApprovedDTO
param
)
{
portalApprovalProcessService
.
workFlowPostAuthorApprovedCallBack
(
param
);
return
Result
.
ok
();
}
/**
* 流程审批不通过回调(岗位)
*/
@PostMapping
(
"/workFlowPostAuthorRejectedCallBack"
)
public
Result
<
Void
>
workFlowPostAuthorRejectedCallBack
(
@RequestBody
@Validated
Process
Suspend
DTO
param
)
{
public
Result
<
Void
>
workFlowPostAuthorRejectedCallBack
(
@RequestBody
@Validated
Process
InterruptCallBack
DTO
param
)
{
portalApprovalProcessService
.
workFlowPostAuthorRejectedCallBack
(
param
);
return
Result
.
ok
();
}
/**
* 流程审批中止回调(岗位)
*/
@PostMapping
(
"/workFlowPostAuthorInterruptedCallBack"
)
public
Result
<
Void
>
workFlowPostAuthorInterruptedCallBack
(
@RequestBody
@Validated
Process
Suspend
DTO
param
)
{
public
Result
<
Void
>
workFlowPostAuthorInterruptedCallBack
(
@RequestBody
@Validated
Process
InterruptCallBack
DTO
param
)
{
portalApprovalProcessService
.
workFlowPostAuthorInterruptedCallBack
(
param
);
return
Result
.
ok
();
}
}
...
...
runtime/src/main/java/com/keymobile/publicplatform/runtime/controller/ProcessManageController.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
controller
;
import
com.keymobile.publicplatform.runtime.model.Result
;
import
com.keymobile.publicplatform.runtime.model.dto.processmanage.ProcessInterruptDTO
;
import
com.keymobile.publicplatform.runtime.service.ProcessManageService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 我的流程管理
*
* @author 50267262
*/
@Slf4j
@RestController
@RequestMapping
(
"/processManage"
)
public
class
ProcessManageController
{
@Autowired
private
ProcessManageService
processManageService
;
/**
* 中止流程(结束流程)
*/
@PostMapping
(
"/interrupt"
)
public
Result
<
Void
>
interruptProcess
(
@RequestBody
@Validated
ProcessInterruptDTO
param
)
{
processManageService
.
processInterrupt
(
param
);
return
Result
.
ok
();
}
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/controller/PropertyManageController.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
controller
;
import
com.keymobile.publicplatform.runtime.model.Result
;
import
com.keymobile.publicplatform.runtime.model.dto.propertyManage.PropertyBatchDeleteDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.propertyManage.PropertyBatchSaveDTO
;
import
com.keymobile.publicplatform.runtime.service.PropertyManageService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 我的流程管理
*
* @author 50267262
*/
@Slf4j
@RestController
@RequestMapping
(
"/propertyManage"
)
public
class
PropertyManageController
{
@Autowired
private
PropertyManageService
propertyManageService
;
/**
* 流程批量新增资产
*/
@PostMapping
(
"/saveBatch"
)
public
Result
<
Void
>
saveBatch
(
@RequestBody
@Validated
PropertyBatchSaveDTO
param
)
{
propertyManageService
.
saveBatch
(
param
);
return
Result
.
ok
();
}
/**
* 流程批量删除资产
*/
@PostMapping
(
"/deleteBatch"
)
public
Result
<
Void
>
deleteBatch
(
@RequestBody
@Validated
PropertyBatchDeleteDTO
param
)
{
propertyManageService
.
deleteBatch
(
param
);
return
Result
.
ok
();
}
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/portalprocess/ApprovalPostPortalDTO.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
portalprocess
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
/**
* 发起portal审批流程DTO
*
* @author 50267262
*/
@Data
public
class
ApprovalPostPortalDTO
{
/**
* 流程实例ID(重新提交时,必填)
*/
@JsonProperty
(
"ProcinsId"
)
private
String
ProcinsId
;
/**
* 资产包唯一Id
*/
@NotBlank
(
message
=
"资产包唯一Id不能为空"
)
@JsonProperty
(
"PropertyReceiptsId"
)
private
String
PropertyReceiptsId
;
/**
* 申请人/处理人工号(必填)
*/
@NotBlank
(
message
=
"申请人/处理人工号不能为空"
)
@JsonProperty
(
"Applicanter"
)
private
String
Applicanter
;
/**
* 发布原因
*/
@JsonProperty
(
"Reason"
)
private
String
Reason
;
/**
* 岗位明细
*/
@NotEmpty
(
message
=
"资产岗位明细不能为空"
)
@JsonProperty
(
"PropertyList"
)
private
List
<
PostProperty
>
PropertyList
;
/**
* 附件明细
*/
@JsonProperty
(
"AttachmentList"
)
private
List
<
Attachment
>
AttachmentList
;
@Data
public
static
class
PostProperty
{
/**
* 资产的连接地址
*/
@NotBlank
(
message
=
"资产的连接地址不能为空"
)
@JsonProperty
(
"PropertyLink"
)
private
String
PropertyLink
;
/**
* 资产类型
*/
@NotBlank
(
message
=
"资产类型不能为空"
)
@JsonProperty
(
"PropertyType"
)
private
String
PropertyType
;
/**
* 资产编码
*/
@NotBlank
(
message
=
"资产编码不能为空"
)
@JsonProperty
(
"PropertyNo"
)
private
String
PropertyNo
;
/**
* 资产名称
*/
@NotBlank
(
message
=
"资产名称不能为空"
)
@JsonProperty
(
"PropertyName"
)
private
String
PropertyName
;
/**
* 类型(传0=资产)
*/
@NotBlank
(
message
=
"类型不能为空"
)
@JsonProperty
(
"DataType"
)
private
Integer
DataType
;
/**
* 数据关键用户
*/
@NotBlank
(
message
=
"数据关键用户不能为空"
)
@JsonProperty
(
"KeyUserId"
)
private
String
KeyUserId
;
/**
* 数据Owner
*/
@NotBlank
(
message
=
"数据Owner不能为空"
)
@JsonProperty
(
"DataOwner"
)
private
String
DataOwner
;
/**
* IT责任人
*/
@NotBlank
(
message
=
"IT责任人不能为空"
)
@JsonProperty
(
"ItResponsibilityer"
)
private
String
ItResponsibilityer
;
}
/**
* 附件明细(仅岗位有)
*/
@Data
public
static
class
Attachment
{
/**
* 附件名称
*/
@NotBlank
(
message
=
"附件名称不能为空"
)
@JsonProperty
(
"AttachmentName"
)
private
String
AttachmentName
;
/**
* 附件后缀
*/
@NotBlank
(
message
=
"附件后缀不能为空"
)
@JsonProperty
(
"AttachmentSuffix"
)
private
String
AttachmentSuffix
;
/**
* 附件大小
*/
@NotBlank
(
message
=
"附件大小不能为空"
)
@JsonProperty
(
"AttachmentSize"
)
private
Integer
AttachmentSize
;
/**
* 附件地址
*/
@NotBlank
(
message
=
"附件地址不能为空"
)
@JsonProperty
(
"AttachmentUrl"
)
private
String
AttachmentUrl
;
}
}
\ No newline at end of file
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/ApprovalProcessDTO.java
→
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/
portalprocess/
ApprovalProcessDTO.java
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
;
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
portalprocess
;
import
cn.hutool.core.collection.CollUtil
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
/**
...
...
@@ -16,15 +15,16 @@ import java.util.List;
public
class
ApprovalProcessDTO
{
/**
*
流程实例ID(重新提交时,必填)
*
资产类型
*/
private
String
procinsId
;
@NotBlank
(
message
=
"资产类型不能为空"
)
private
String
propertyType
;
/**
* 申请人/处理人工号(必填)
*/
@NotBlank
(
message
=
"申请人/处理人工号不能为空"
)
private
String
applicant
er
;
private
String
applicant
;
/**
* 申请类型(0上架流程 1下架流程)(必填)
...
...
@@ -40,13 +40,83 @@ public class ApprovalProcessDTO {
/**
* 资产明细
*/
@NotEmpty
(
message
=
"资产明细不能为空"
)
private
List
<
Property
>
propertyList
;
/**
* 岗位明细
*/
private
List
<
Post
>
postList
;
/**
* 附件明细(仅岗位有)
*/
private
List
<
Attachment
>
attachmentList
;
/**
* 附件明细(仅岗位有)
*/
@Data
private
static
class
Attachment
{
/**
* 附件名称
*/
private
String
attachmentName
;
/**
* 附件后缀
*/
private
String
attachmentSuffix
;
/**
* 附件大小
*/
private
Integer
attachmentSize
;
/**
* 附件地址
*/
private
String
attachmentUrl
;
}
/**
* 资产明细
*/
@Data
public
static
class
Property
{
/**
* 资产的连接地址
*/
@NotBlank
(
message
=
"资产的连接地址不能为空"
)
private
String
propertyLink
;
/**
* 资产类型
*/
@NotBlank
(
message
=
"资产类型不能为空"
)
private
String
propertyType
;
/**
* 资产Id
*/
@NotBlank
(
message
=
"资产Id不能为空"
)
private
String
propertyId
;
/**
* 资产编码
*/
@NotBlank
(
message
=
"资产编码不能为空"
)
private
String
propertyNo
;
/**
* 资产名称
*/
@NotBlank
(
message
=
"资产名称不能为空"
)
private
String
propertyName
;
/**
* 数据关键用户
*/
@NotBlank
(
message
=
"数据关键用户不能为空"
)
...
...
@@ -62,14 +132,20 @@ public class ApprovalProcessDTO {
* IT责任人
*/
@NotBlank
(
message
=
"IT责任人不能为空"
)
private
String
itResponsibility
er
;
private
String
itResponsibility
;
/**
* 资产目录负责人
*/
@NotBlank
(
message
=
"资产目录负责人不能为空"
)
private
String
propertyUserId
;
}
/**
* 岗位明细
*/
@Data
public
static
class
Post
{
/**
* 资产的连接地址
*/
...
...
@@ -83,6 +159,12 @@ public class ApprovalProcessDTO {
private
String
propertyType
;
/**
* 资产Id
*/
@NotBlank
(
message
=
"资产Id不能为空"
)
private
String
propertyId
;
/**
* 资产编码
*/
@NotBlank
(
message
=
"资产编码不能为空"
)
...
...
@@ -93,29 +175,94 @@ public class ApprovalProcessDTO {
*/
@NotBlank
(
message
=
"资产名称不能为空"
)
private
String
propertyName
;
/**
* IT责任人
*/
@NotBlank
(
message
=
"IT责任人不能为空"
)
private
String
itResponsibility
;
/**
* 数据关键用户
*/
@NotBlank
(
message
=
"数据关键用户不能为空"
)
private
String
keyUserId
;
/**
* 数据Owner
*/
@NotBlank
(
message
=
"数据Owner不能为空"
)
private
String
dataOwner
;
}
public
ApprovalProcessPortalDTO
toPortal
()
{
/**
* 转换资产-岗位信息
*
* @param uuid 流程主键id
* @return DTO
*/
public
ApprovalPostPortalDTO
toPostPortal
(
String
uuid
)
{
ApprovalPostPortalDTO
postPortalDTO
=
new
ApprovalPostPortalDTO
();
postPortalDTO
.
setPropertyReceiptsId
(
uuid
);
postPortalDTO
.
setApplicanter
(
this
.
applicant
);
postPortalDTO
.
setReason
(
this
.
reason
);
List
<
ApprovalPostPortalDTO
.
PostProperty
>
postList
=
CollUtil
.
newArrayList
();
List
<
ApprovalPostPortalDTO
.
Attachment
>
attachmentList
=
CollUtil
.
newArrayList
();
this
.
postList
.
forEach
(
v
->
{
ApprovalPostPortalDTO
.
PostProperty
property
=
new
ApprovalPostPortalDTO
.
PostProperty
();
property
.
setKeyUserId
(
v
.
getKeyUserId
());
property
.
setDataOwner
(
v
.
getDataOwner
());
property
.
setDataType
(
0
);
property
.
setItResponsibilityer
(
v
.
getItResponsibility
());
property
.
setPropertyLink
(
v
.
getPropertyLink
());
property
.
setPropertyType
(
this
.
propertyType
);
property
.
setPropertyNo
(
v
.
getPropertyNo
());
property
.
setPropertyName
(
v
.
getPropertyName
());
postList
.
add
(
property
);
});
this
.
attachmentList
.
forEach
(
v
->
{
ApprovalPostPortalDTO
.
Attachment
attachment
=
new
ApprovalPostPortalDTO
.
Attachment
();
attachment
.
setAttachmentUrl
(
v
.
getAttachmentUrl
());
attachment
.
setAttachmentName
(
v
.
getAttachmentName
());
attachment
.
setAttachmentSize
(
v
.
getAttachmentSize
());
attachment
.
setAttachmentSuffix
(
v
.
getAttachmentSuffix
());
attachmentList
.
add
(
attachment
);
});
postPortalDTO
.
setPropertyList
(
postList
);
postPortalDTO
.
setAttachmentList
(
attachmentList
);
return
postPortalDTO
;
}
/**
* 转换资产信息
*
* @param uuid 流程主键id
* @return DTO
*/
public
ApprovalProcessPortalDTO
toProcessPortal
(
String
uuid
)
{
ApprovalProcessPortalDTO
portalDTO
=
new
ApprovalProcessPortalDTO
();
portalDTO
.
setPro
cinsId
(
this
.
procinsI
d
);
portalDTO
.
setApplicanter
(
this
.
applicant
er
);
portalDTO
.
setPro
pertyReceiptsId
(
uui
d
);
portalDTO
.
setApplicanter
(
this
.
applicant
);
portalDTO
.
setApplicationType
(
this
.
applicationType
);
portalDTO
.
setReason
(
this
.
reason
);
List
<
ApprovalProcessPortalDTO
.
Property
>
P
ropertyList
=
CollUtil
.
newArrayList
();
List
<
ApprovalProcessPortalDTO
.
Property
>
p
ropertyList
=
CollUtil
.
newArrayList
();
this
.
propertyList
.
forEach
(
v
->
{
ApprovalProcessPortalDTO
.
Property
property
=
new
ApprovalProcessPortalDTO
.
Property
();
property
.
setKeyUserId
(
v
.
getKeyUserId
());
property
.
setDataOwner
(
v
.
getDataOwner
());
property
.
setItResponsibilityer
(
v
.
getItResponsibility
er
());
property
.
setItResponsibilityer
(
v
.
getItResponsibility
());
property
.
setPropertyUserId
(
v
.
getPropertyUserId
());
property
.
setPropertyLink
(
v
.
getPropertyLink
());
property
.
setPropertyType
(
v
.
getPropertyType
()
);
property
.
setPropertyType
(
this
.
propertyType
);
property
.
setPropertyNo
(
v
.
getPropertyNo
());
property
.
setPropertyName
(
v
.
getPropertyName
());
P
ropertyList
.
add
(
property
);
p
ropertyList
.
add
(
property
);
});
portalDTO
.
setPropertyList
(
P
ropertyList
);
portalDTO
.
setPropertyList
(
p
ropertyList
);
return
portalDTO
;
}
}
\ No newline at end of file
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/ApprovalProcessPortalDTO.java
→
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/
portalprocess/
ApprovalProcessPortalDTO.java
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
;
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
portalprocess
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
...
...
@@ -22,6 +22,13 @@ public class ApprovalProcessPortalDTO {
private
String
ProcinsId
;
/**
* 资产包唯一Id
*/
@NotBlank
(
message
=
"资产包唯一Id不能为空"
)
@JsonProperty
(
"PropertyReceiptsId"
)
private
String
PropertyReceiptsId
;
/**
* 申请人/处理人工号(必填)
*/
@NotBlank
(
message
=
"申请人/处理人工号不能为空"
)
...
...
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/ApprovedDTO.java
→
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/
portalprocess/
ApprovedDTO.java
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
;
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
portalprocess
;
import
lombok.Data
;
...
...
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/
ProcessSuspend
DTO.java
→
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/
portalprocess/ProcessInterruptCallBack
DTO.java
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
;
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
portalprocess
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* portal审批流程中止
* portal审批流程中止
回调
*
* @author 50267262
*/
@Data
public
class
Process
Suspend
DTO
{
public
class
Process
InterruptCallBack
DTO
{
/**
* 流程实例ID
...
...
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/processmanage/ProcessInterruptDTO.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
processmanage
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* 流程中止(结束流程)
*
* @author 50267262
*/
@Data
public
class
ProcessInterruptDTO
{
/**
* 流程主键ID
*/
@NotBlank
(
message
=
"流程主键ID不能为空"
)
private
String
id
;
}
\ No newline at end of file
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/processmanage/ProcessInterruptPortalDTO.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
processmanage
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* 流程中止(结束流程)-portal
*
* @author 50267262
*/
@Data
public
class
ProcessInterruptPortalDTO
{
/**
* 流程ID
*/
@JsonProperty
(
"FProcInsID"
)
@NotBlank
(
message
=
"portal流程ID不能为空"
)
private
String
FProcInsID
;
/**
* 中止流程申请人
*/
@JsonProperty
(
"FApproversUser"
)
@NotBlank
(
message
=
"中止流程申请人不能为空"
)
private
String
FApproversUser
;
/**
* 中止流程原因
*/
@JsonProperty
(
"FApproversDesc"
)
private
String
FApproversDesc
;
}
\ No newline at end of file
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/propertyManage/PropertyBatchDeleteDTO.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
propertyManage
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
/**
* 流程资产批量删除
*
* @author 50267262
*/
@Data
public
class
PropertyBatchDeleteDTO
{
/**
* 流程主键ID
*/
@NotBlank
(
message
=
"流程主键ID不能为空"
)
private
String
processId
;
/**
* 流程资产主键
*/
@NotEmpty
(
message
=
"流程资产主键不能为空"
)
private
List
<
Long
>
ids
;
}
\ No newline at end of file
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/dto/propertyManage/PropertyBatchSaveDTO.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
dto
.
propertyManage
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
java.util.List
;
/**
* 流程资产批量新增
*
* @author 50267262
*/
@Data
public
class
PropertyBatchSaveDTO
{
/**
* 流程主键ID
*/
@NotBlank
(
message
=
"流程主键ID不能为空"
)
private
String
processId
;
/**
* 资产信息
*/
@NotEmpty
(
message
=
"资产信息不能为空"
)
private
List
<
Property
>
propertyList
;
@Data
public
static
class
Property
{
/**
* 资产类型
*/
@NotBlank
(
message
=
"资产类型不能为空"
)
private
String
propertyType
;
/**
* 资产ID
*/
@NotBlank
(
message
=
"资产ID不能为空"
)
private
String
propertyId
;
/**
* 资产编号
*/
@NotBlank
(
message
=
"资产编号不能为空"
)
private
String
propertyNo
;
}
}
\ No newline at end of file
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/entity/ProcessPropertyAbstract.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
model
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.annotation.LastModifiedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* @author 50267262
*/
@Data
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table
(
name
=
"process_property"
)
@EntityListeners
(
AuditingEntityListener
.
class
)
public
class
ProcessPropertyAbstract
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4425077517320374105L
;
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
/**
* 流程ID
*/
private
String
processId
;
/**
* 数据资产资产类型
*/
private
String
propertyType
;
/**
* 数据资产资产ID
*/
private
String
propertyId
;
/**
* 数据资产资产编号
*/
private
String
propertyNo
;
/**
* 创建时间
*/
@CreatedDate
private
LocalDateTime
createTime
;
/**
* 更新时间
*/
@LastModifiedDate
private
LocalDateTime
updateTime
;
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/model/entity/ProcessRelationAbstract.java
View file @
1055f81c
...
...
@@ -27,31 +27,26 @@ public class ProcessRelationAbstract implements Serializable {
private
static
final
long
serialVersionUID
=
-
4425077517320374105L
;
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
private
Long
id
;
private
String
id
;
/**
*
数据资产资产类型
*
流程实例ID(portal)
*/
@Column
(
nullable
=
false
,
length
=
100
)
private
String
propertyType
;
private
String
procinsId
;
/**
*
数据资产资产ID
*
申请人/处理人工号
*/
@Column
(
nullable
=
false
,
length
=
100
)
private
String
propertyId
;
private
String
applicant
;
/**
*
流程实例ID(portal)
*
数据资产资产类型
*/
@Column
(
nullable
=
false
,
length
=
100
)
private
String
procinsId
;
private
String
propertyType
;
/**
* 流程审批状态
*/
@Column
(
nullable
=
false
,
length
=
20
)
private
String
state
;
/**
...
...
runtime/src/main/java/com/keymobile/publicplatform/runtime/repository/ProcessPropertyRepository.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
repository
;
import
com.keymobile.publicplatform.runtime.model.entity.ProcessPropertyAbstract
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
java.util.List
;
/**
* @author 50267262
*/
public
interface
ProcessPropertyRepository
extends
JpaRepository
<
ProcessPropertyAbstract
,
Long
>,
JpaSpecificationExecutor
<
ProcessPropertyAbstract
>
{
@Modifying
@Query
(
value
=
"DELETE FROM process_property WHERE id IN ?1"
,
nativeQuery
=
true
)
void
deleteByIds
(
List
<
Long
>
ids
);
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/repository/ProcessRelationRepository.java
View file @
1055f81c
...
...
@@ -2,6 +2,7 @@ package com.keymobile.publicplatform.runtime.repository;
import
com.keymobile.publicplatform.runtime.model.entity.ProcessRelationAbstract
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
...
...
@@ -11,7 +12,7 @@ import java.time.LocalDateTime;
/**
* @author 50267262
*/
public
interface
ProcessRelationRepository
extends
JpaRepository
<
ProcessRelationAbstract
,
Long
>
{
public
interface
ProcessRelationRepository
extends
JpaRepository
<
ProcessRelationAbstract
,
String
>,
JpaSpecificationExecutor
<
ProcessRelationAbstract
>
{
@Modifying
@Query
(
"update ProcessRelationAbstract pr set pr.state=?2, pr.updateTime=?3 where pr.procinsId=?1"
)
...
...
runtime/src/main/java/com/keymobile/publicplatform/runtime/service/PortalApprovalProcessService.java
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
service
;
import
com.keymobile.publicplatform.runtime.model.dto.ApprovalProcessDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.ApprovedDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.
ProcessSuspend
DTO
;
import
com.keymobile.publicplatform.runtime.model.dto.
portalprocess.
ApprovalProcessDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.
portalprocess.
ApprovedDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.
portalprocess.ProcessInterruptCallBack
DTO
;
/**
* @author 50267262
...
...
@@ -25,13 +25,13 @@ public interface PortalApprovalProcessService {
* 流程审批不通过(发布)
* @param param 请求参数
*/
void
workFlowReleaseRejectedCallBack
(
Process
Suspend
DTO
param
);
void
workFlowReleaseRejectedCallBack
(
Process
InterruptCallBack
DTO
param
);
/**
* 流程审批中止(发布)
* @param param 请求参数
*/
void
workFlowReleaseInterruptedCallBack
(
Process
Suspend
DTO
param
);
void
workFlowReleaseInterruptedCallBack
(
Process
InterruptCallBack
DTO
param
);
/**
* 流程审批通过(岗位)
...
...
@@ -43,11 +43,11 @@ public interface PortalApprovalProcessService {
* 流程审批不通过(岗位)
* @param param 请求参数
*/
void
workFlowPostAuthorRejectedCallBack
(
Process
Suspend
DTO
param
);
void
workFlowPostAuthorRejectedCallBack
(
Process
InterruptCallBack
DTO
param
);
/**
* 流程审批中止(岗位)
* @param param 请求参数
*/
void
workFlowPostAuthorInterruptedCallBack
(
Process
Suspend
DTO
param
);
void
workFlowPostAuthorInterruptedCallBack
(
Process
InterruptCallBack
DTO
param
);
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/service/ProcessManageService.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
service
;
import
com.keymobile.publicplatform.runtime.model.dto.processmanage.ProcessInterruptDTO
;
/**
* @author 50267262
*/
public
interface
ProcessManageService
{
/**
* 中止流程
* @param param 请求参数
*/
void
processInterrupt
(
ProcessInterruptDTO
param
);
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/service/PropertyManageService.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
service
;
import
com.keymobile.publicplatform.runtime.model.dto.propertyManage.PropertyBatchDeleteDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.propertyManage.PropertyBatchSaveDTO
;
/**
* @author 50267262
*/
public
interface
PropertyManageService
{
/**
* 批量新增资产
*
* @param param 请求参数
*/
void
saveBatch
(
PropertyBatchSaveDTO
param
);
/**
* 批量删除资产
*
* @param param 请求参数
*/
void
deleteBatch
(
PropertyBatchDeleteDTO
param
);
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/service/impl/PortalApprovalProcessServiceImpl.java
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.lang.UUID
;
import
com.keymobile.publicplatform.runtime.constant.PublicConstant
;
import
com.keymobile.publicplatform.runtime.enums.PropertyProcessStateEnum
;
import
com.keymobile.publicplatform.runtime.model.Result
;
import
com.keymobile.publicplatform.runtime.model.dto.ApprovalProcessDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.ApprovedDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.ProcessSuspendDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.portalprocess.ApprovalProcessDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.portalprocess.ApprovedDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.portalprocess.ProcessInterruptCallBackDTO
;
import
com.keymobile.publicplatform.runtime.model.entity.ProcessPropertyAbstract
;
import
com.keymobile.publicplatform.runtime.model.entity.ProcessRelationAbstract
;
import
com.keymobile.publicplatform.runtime.model.vo.ApprovalProcessVO
;
import
com.keymobile.publicplatform.runtime.repository.ProcessPropertyRepository
;
import
com.keymobile.publicplatform.runtime.repository.ProcessRelationRepository
;
import
com.keymobile.publicplatform.runtime.service.PortalApprovalProcessService
;
import
com.keymobile.publicplatform.runtime.util.RestTemplateUtils
;
...
...
@@ -39,28 +42,38 @@ public class PortalApprovalProcessServiceImpl implements PortalApprovalProcessSe
@Autowired
private
ProcessRelationRepository
processRelationRepository
;
@Autowired
private
ProcessPropertyRepository
propertyRepository
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
propertyProcess
(
ApprovalProcessDTO
param
)
{
/* 调用portal发起/重新提交审批流程 */
/* 调用portal发起/重新提交审批流程
TODO 区分资产和岗位
*/
String
url
=
baseUrl
+
PublicConstant
.
APPROVAL_PROCESS_URL
;
Result
<
ApprovalProcessVO
>
result
=
RestTemplateUtils
.
postJsonPO
(
url
,
param
.
toPortal
(),
poAuth
,
new
ParameterizedTypeReference
<>()
{
// 资产包唯一ID
String
propertyReceiptsId
=
UUID
.
randomUUID
().
toString
();
Result
<
ApprovalProcessVO
>
result
=
RestTemplateUtils
.
postJsonPO
(
url
,
param
.
toProcessPortal
(
propertyReceiptsId
),
poAuth
,
new
ParameterizedTypeReference
<>()
{
});
ApprovalProcessVO
approvalProcessVO
=
result
.
getData
();
// TODO 流程重新提交的状态维护、是否存在资产调整可能
/* 维护资产与流程的关系及状态 */
List
<
ProcessRelationAbstract
>
relations
=
CollUtil
.
newArrayList
();
/* 维护资产与流程的关联关系及状态 */
List
<
ProcessPropertyAbstract
>
properties
=
CollUtil
.
newArrayList
();
ProcessRelationAbstract
processRelation
=
processRelationRepository
.
save
(
ProcessRelationAbstract
.
builder
()
.
id
(
propertyReceiptsId
)
.
applicant
(
param
.
getApplicant
())
.
procinsId
(
approvalProcessVO
.
getProcinsId
())
.
propertyType
(
param
.
getPropertyType
())
.
state
(
PropertyProcessStateEnum
.
DOING
.
getType
())
.
build
());
param
.
getPropertyList
().
forEach
(
property
->
{
relations
.
add
(
ProcessRelation
Abstract
.
builder
()
.
pro
pertyType
(
property
.
getPropertyType
())
.
property
Id
(
property
.
getPropertyNo
())
.
pro
cinsId
(
approvalProcessVO
.
getProcins
Id
())
.
state
(
PropertyProcessStateEnum
.
DOING
.
getType
())
properties
.
add
(
ProcessProperty
Abstract
.
builder
()
.
pro
cessId
(
processRelation
.
getId
())
.
property
Type
(
param
.
getPropertyType
())
.
pro
pertyId
(
property
.
getProperty
Id
())
.
propertyNo
(
property
.
getPropertyNo
())
.
build
());
});
pro
cessRelationRepository
.
saveAll
(
relation
s
);
pro
pertyRepository
.
saveAll
(
propertie
s
);
}
@Override
...
...
@@ -72,13 +85,13 @@ public class PortalApprovalProcessServiceImpl implements PortalApprovalProcessSe
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
workFlowReleaseRejectedCallBack
(
Process
Suspend
DTO
param
)
{
public
void
workFlowReleaseRejectedCallBack
(
Process
InterruptCallBack
DTO
param
)
{
processRelationRepository
.
updateStateByProcinsId
(
param
.
getProcinsId
(),
PropertyProcessStateEnum
.
REJECTED
.
getType
(),
LocalDateTime
.
now
());
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
workFlowReleaseInterruptedCallBack
(
Process
Suspend
DTO
param
)
{
public
void
workFlowReleaseInterruptedCallBack
(
Process
InterruptCallBack
DTO
param
)
{
processRelationRepository
.
updateStateByProcinsId
(
param
.
getProcinsId
(),
PropertyProcessStateEnum
.
INTERRUPTED
.
getType
(),
LocalDateTime
.
now
());
}
...
...
@@ -91,13 +104,13 @@ public class PortalApprovalProcessServiceImpl implements PortalApprovalProcessSe
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
workFlowPostAuthorRejectedCallBack
(
Process
Suspend
DTO
param
)
{
public
void
workFlowPostAuthorRejectedCallBack
(
Process
InterruptCallBack
DTO
param
)
{
processRelationRepository
.
updateStateByProcinsId
(
param
.
getProcinsId
(),
PropertyProcessStateEnum
.
REJECTED
.
getType
(),
LocalDateTime
.
now
());
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
workFlowPostAuthorInterruptedCallBack
(
Process
Suspend
DTO
param
)
{
public
void
workFlowPostAuthorInterruptedCallBack
(
Process
InterruptCallBack
DTO
param
)
{
processRelationRepository
.
updateStateByProcinsId
(
param
.
getProcinsId
(),
PropertyProcessStateEnum
.
INTERRUPTED
.
getType
(),
LocalDateTime
.
now
());
}
...
...
runtime/src/main/java/com/keymobile/publicplatform/runtime/service/impl/ProcessManageServiceImpl.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
service
.
impl
;
import
com.github.wenhao.jpa.Specifications
;
import
com.keymobile.publicplatform.runtime.constant.PublicConstant
;
import
com.keymobile.publicplatform.runtime.model.Result
;
import
com.keymobile.publicplatform.runtime.model.dto.processmanage.ProcessInterruptDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.processmanage.ProcessInterruptPortalDTO
;
import
com.keymobile.publicplatform.runtime.model.entity.ProcessPropertyAbstract
;
import
com.keymobile.publicplatform.runtime.model.entity.ProcessRelationAbstract
;
import
com.keymobile.publicplatform.runtime.repository.ProcessPropertyRepository
;
import
com.keymobile.publicplatform.runtime.repository.ProcessRelationRepository
;
import
com.keymobile.publicplatform.runtime.service.ProcessManageService
;
import
com.keymobile.publicplatform.runtime.util.RestTemplateUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.core.ParameterizedTypeReference
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.jpa.domain.Specification
;
import
org.springframework.stereotype.Service
;
import
java.util.Objects
;
/**
* 我的流程管理
*
* @author lmg
*/
@Service
@Slf4j
public
class
ProcessManageServiceImpl
implements
ProcessManageService
{
@Value
(
"${mindray.po.url}"
)
private
String
baseUrl
;
@Value
(
"${mindray.po.auth}"
)
private
String
poAuth
;
@Autowired
private
ProcessRelationRepository
processRelationRepository
;
@Autowired
private
ProcessPropertyRepository
propertyRepository
;
@Override
public
void
processInterrupt
(
ProcessInterruptDTO
param
)
{
ProcessRelationAbstract
processRelation
=
processRelationRepository
.
findById
(
param
.
getId
()).
orElse
(
null
);
if
(
Objects
.
nonNull
(
processRelation
))
{
/* 调用portal中止审批流程 TODO 中止流程PO地址 */
String
url
=
baseUrl
+
PublicConstant
.
PROCESS_INTERRUPT_URL
;
ProcessInterruptPortalDTO
interruptPortalDTO
=
new
ProcessInterruptPortalDTO
();
interruptPortalDTO
.
setFProcInsID
(
processRelation
.
getProcinsId
());
// TODO 用户上下文获取用户ID
interruptPortalDTO
.
setFApproversUser
(
"USER"
);
interruptPortalDTO
.
setFApproversDesc
(
"数据资产平台发起废弃"
);
Result
<
Object
>
result
=
RestTemplateUtils
.
postJsonPO
(
url
,
interruptPortalDTO
,
poAuth
,
new
ParameterizedTypeReference
<>()
{
});
// TODO 更新状态,区分流程中止回调的更新逻辑
Specification
<
ProcessPropertyAbstract
>
specification
=
Specifications
.<
ProcessPropertyAbstract
>
and
()
.
like
(
StringUtils
.
isNotEmpty
(
"queryBean.getName()"
),
"user_name"
,
param
.
getId
())
.
build
();
PageRequest
pageRequest
=
new
PageRequest
(
10
,
20
);
propertyRepository
.
findAll
(
specification
,
pageRequest
);
}
}
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/service/impl/PropertyManageServiceImpl.java
0 → 100644
View file @
1055f81c
package
com
.
keymobile
.
publicplatform
.
runtime
.
service
.
impl
;
import
cn.hutool.core.collection.CollUtil
;
import
com.keymobile.publicplatform.runtime.model.dto.propertyManage.PropertyBatchDeleteDTO
;
import
com.keymobile.publicplatform.runtime.model.dto.propertyManage.PropertyBatchSaveDTO
;
import
com.keymobile.publicplatform.runtime.model.entity.ProcessPropertyAbstract
;
import
com.keymobile.publicplatform.runtime.repository.ProcessPropertyRepository
;
import
com.keymobile.publicplatform.runtime.service.PropertyManageService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
/**
* 流程资产管理
*
* @author lmg
*/
@Service
@Slf4j
public
class
PropertyManageServiceImpl
implements
PropertyManageService
{
@Autowired
private
ProcessPropertyRepository
propertyRepository
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveBatch
(
PropertyBatchSaveDTO
param
)
{
List
<
ProcessPropertyAbstract
>
properties
=
CollUtil
.
newArrayList
();
param
.
getPropertyList
().
forEach
(
property
->
{
properties
.
add
(
ProcessPropertyAbstract
.
builder
()
.
processId
(
param
.
getProcessId
())
.
propertyType
(
property
.
getPropertyType
())
.
propertyId
(
property
.
getPropertyId
())
.
propertyNo
(
property
.
getPropertyNo
())
.
build
());
});
propertyRepository
.
saveAll
(
properties
);
// TODO 通知业务修改资产状态
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
deleteBatch
(
PropertyBatchDeleteDTO
param
)
{
propertyRepository
.
deleteByIds
(
param
.
getIds
());
// TODO 通知业务修改资产状态
}
}
runtime/src/main/java/com/keymobile/publicplatform/runtime/util/RestTemplateUtils.java
View file @
1055f81c
...
...
@@ -7,6 +7,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.core.ParameterizedTypeReference
;
import
org.springframework.http.*
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.client.RestClientException
;
import
org.springframework.web.client.RestTemplate
;
/**
...
...
@@ -35,8 +36,15 @@ public class RestTemplateUtils {
headers
.
set
(
HttpHeaders
.
AUTHORIZATION
,
"Basic "
+
auth
);
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
HttpEntity
<
Object
>
requestEntity
=
new
HttpEntity
<>(
requestBody
,
headers
);
log
.
info
(
"PO url:{}, request:{}"
,
url
,
JSON
.
toJSONString
(
requestBody
));
ResponseEntity
<
Result
<
T
>>
responseEntity
=
restTemplate
.
exchange
(
url
,
HttpMethod
.
POST
,
requestEntity
,
responseType
);
log
.
info
(
"PO exchange begin url:{}, request:{}"
,
url
,
JSON
.
toJSONString
(
requestBody
));
ResponseEntity
<
Result
<
T
>>
responseEntity
;
try
{
responseEntity
=
restTemplate
.
exchange
(
url
,
HttpMethod
.
POST
,
requestEntity
,
responseType
);
log
.
info
(
"PO exchange end url:{}, request:{}, response:{}"
,
url
,
JSON
.
toJSONString
(
requestBody
),
JSON
.
toJSONString
(
responseEntity
));
}
catch
(
RestClientException
e
)
{
log
.
error
(
"PO exchange error, url:{}, request:{}, exception:"
,
url
,
JSON
.
toJSONString
(
requestBody
),
e
);
throw
new
RuntimeException
(
e
);
}
return
responseEntity
.
getBody
();
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment