From b0af1450c1ceb409b2fb5a078f84ae765ef18e86 Mon Sep 17 00:00:00 2001
From: fanzongzhe <285169773@qq.com>
Date: Mon, 10 Jul 2023 17:53:13 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=91=E8=9E=8D=E4=BA=A7=E5=93=81=E6=94=BF?=
=?UTF-8?q?=E7=AD=96=E6=8A=A5=E5=A4=87=E3=80=81=E5=85=B6=E4=BB=96=E8=9E=8D?=
=?UTF-8?q?=E6=8A=A5=E5=A4=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../anrui/flowable/api/utils/ProcDefEnum.java | 2 +
.../LoanFinOtherPolicyApplyDto.java | 53 ++
.../LoanFinOtherPolicyApplyInitListVo.java | 34 ++
.../LoanFinOtherPolicyApplyInitVo.java | 43 ++
.../LoanFinOtherPolicyApplyQuery.java | 38 ++
.../LoanFinOtherPolicyApplyVo.java | 43 ++
.../LoanFinOtherPolicyRecordApply.java | 60 ++
.../LoanFinOtherPolicyRecordApplyFeign.java | 114 ++++
...inOtherPolicyRecordApplyFeignFallback.java | 86 +++
.../flow/GetNodeQuery.java | 26 +
.../flow/GetNodeVo.java | 25 +
.../flow/LoanOtherPolicyApplyCompleteDto.java | 40 ++
.../flow/LoanOtherPolicyApplyTaskQuery.java | 56 ++
.../flow/SubmitLoanOtherPolicyApplyDto.java | 20 +
.../LoanFinPolicyApplyDto.java | 2 +
.../LoanFinPolicyApplyInitListVo.java | 6 +-
.../LoanFinPolicyApplyInitVo.java | 4 +-
.../LoanFinPolicyRecordApplyFeign.java | 45 +-
...LoanFinPolicyRecordApplyFeignFallback.java | 47 ++
.../flow/GetNodeQuery.java | 26 +
.../flow/GetNodeVo.java | 25 +
.../flow/LoanFinPolicyApplyCompleteDto.java | 40 ++
.../flow/LoanFinPolicyApplyTaskQuery.java | 56 ++
.../flow/SubmitLoanFinPolicyApplyDto.java | 19 +
anrui-riskcenter/anrui-riskcenter-biz/pom.xml | 5 +
.../riskcenter/RiskCenterApplication.java | 2 +-
.../LoanFinOtherPolicyRecordApplyMapper.java | 25 +
.../LoanFinOtherPolicyRecordApplyMapper.xml | 35 ++
.../LoanFinOtherPolicyRecordApplyRest.java | 114 ++++
.../LoanFinOtherPolicyRecordApplyService.java | 563 ++++++++++++++++++
.../LoanFinPolicyRecordApplyMapper.java | 4 +
.../LoanFinPolicyRecordApplyMapper.xml | 16 +
.../LoanFinPolicyRecordApplyRest.java | 67 ++-
.../LoanFinPolicyRecordApplyService.java | 484 ++++++++++++++-
.../AppFinPolicyApplyInitVo.java | 46 ++
.../AppPolicyApplyInitListVo.java | 44 ++
.../PolicyRecordApplyFeign.java | 72 +++
.../PolicyRecordApplyFeignFallback.java | 50 ++
.../flow/CompletePolicyDto.java | 38 ++
.../flow/PolicyFlowableQuery.java | 21 +
.../flow/PolicyTaskQuery.java | 44 ++
.../PolicyRecordApplyRest.java | 64 ++
.../PolicyRecordApplyService.java | 160 +++++
43 files changed, 2734 insertions(+), 30 deletions(-)
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyDto.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyInitListVo.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyInitVo.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyQuery.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyVo.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApply.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeign.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeignFallback.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/GetNodeQuery.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/GetNodeVo.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/LoanOtherPolicyApplyCompleteDto.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/LoanOtherPolicyApplyTaskQuery.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/SubmitLoanOtherPolicyApplyDto.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/GetNodeQuery.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/GetNodeVo.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/LoanFinPolicyApplyCompleteDto.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/LoanFinPolicyApplyTaskQuery.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/SubmitLoanFinPolicyApplyDto.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.xml
create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyRest.java
create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyService.java
create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/AppFinPolicyApplyInitVo.java
create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/AppPolicyApplyInitListVo.java
create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/PolicyRecordApplyFeign.java
create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/PolicyRecordApplyFeignFallback.java
create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/flow/CompletePolicyDto.java
create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/flow/PolicyFlowableQuery.java
create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/policyrecordapply/flow/PolicyTaskQuery.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/policyrecordapply/PolicyRecordApplyRest.java
create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/policyrecordapply/PolicyRecordApplyService.java
diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
index 294ff6d047..561eca8c6c 100644
--- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
+++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
@@ -53,6 +53,8 @@ public enum ProcDefEnum {
FINFUNDSAPPLY("款项结转申请", "process_ypafrrvg:1:2257504"),
BUSHANDOVER("交车确认", "process_e8feloik:5:1747508"),
+ LOANFINPOLICYRECORDAPPLY("金融产品政策备案", "process_u45lo7qc:1:2272516"),
+ LOANOTHERPOLICYRECORDAPPLY("其它融产品备案", "process_7pptyzfc:1:2272524"),
/******************************测试流程id*********************************************/
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyDto.java
new file mode 100644
index 0000000000..e6553aa689
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyDto.java
@@ -0,0 +1,53 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Project: anrui-base(安瑞基础信息模块)
+ * File: BaseFinBankDto.java
+ * Class: com.yxt.anrui.base.api.basefinbank.BaseFinBankDto
+ * Description: 资方信息表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-10 11:31:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "其他融备案 数据传输对象", description = "其他融备案 数据传输对象")
+@Data
+public class LoanFinOtherPolicyApplyDto implements Dto {
+ private String sid;
+ private String userSid;
+ @ApiModelProperty("申请分公司")
+ private String applyCompany;
+ @ApiModelProperty("申请部门")
+ private String department;
+ @ApiModelProperty("申请人sid")
+ private String applicantSid;
+ @ApiModelProperty("申请人")
+ private String applicant;
+ @ApiModelProperty("申请日期")
+ private Date applyDate;
+ @ApiModelProperty("申请金融产品政策sid")
+ private List policySids = new ArrayList<>();
+ @ApiModelProperty("附件路径")
+ private List annexPaths = new ArrayList<>();
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+ @ApiModelProperty("创建组织名")
+ private String createOrgName;
+ @ApiModelProperty("使用组织全路径")
+ private String orgSidPath;
+ @ApiModelProperty("备注")
+ private String remarks;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyInitListVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyInitListVo.java
new file mode 100644
index 0000000000..820ae8f7b6
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyInitListVo.java
@@ -0,0 +1,34 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @description
+ * @date 2023/7/6 15:49
+ */
+@Data
+public class LoanFinOtherPolicyApplyInitListVo implements Vo {
+
+ @ApiModelProperty("政策sid")
+ private String otherPolicySid;
+ @ApiModelProperty("政策名称")
+ private String otherPolicyName;
+ @ApiModelProperty("业务类型")
+ private String busTypeValue;
+ @ApiModelProperty("车辆大类")
+ private String vehCategoryValue;
+ @ApiModelProperty("车辆功能")
+ private String vehTypeValue;
+ @ApiModelProperty("最高融资额")
+ private String maxLoanAmount;
+ @ApiModelProperty("期数")
+ private int period;
+ @ApiModelProperty("标准年利率(%)")
+ private String yearRatio;
+ @ApiModelProperty("有效期至")
+ private String validDateTo;
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyInitVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyInitVo.java
new file mode 100644
index 0000000000..749ebdd183
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyInitVo.java
@@ -0,0 +1,43 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @description
+ * @date 2023/7/6 15:38
+ */
+@Data
+public class LoanFinOtherPolicyApplyInitVo implements Vo {
+ private String sid;
+ private String userSid;
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("申请分公司")
+ private String applyCompany;
+ @ApiModelProperty("申请部门")
+ private String department;
+ @ApiModelProperty("申请人")
+ private String applicant;
+ @ApiModelProperty("申请日期")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date applyDate;
+ @ApiModelProperty("任务id")
+ private String taskId;
+ @ApiModelProperty("实例id")
+ private String instanceId;
+ @ApiModelProperty("申请金融产品政策sid")
+ private List policySids = new ArrayList<>();
+ @ApiModelProperty("附件路径")
+ private List annexPaths = new ArrayList<>();
+ @ApiModelProperty("使用组织全路径")
+ private String orgSidPath;
+ private List policyList = new ArrayList<>();
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyQuery.java
new file mode 100644
index 0000000000..dce4402676
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyQuery.java
@@ -0,0 +1,38 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
+
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-base(安瑞基础信息模块)
+ * File: BaseFinBankQuery.java
+ * Class: com.yxt.anrui.base.api.basefinbank.BaseFinBankQuery
+ * Description: 资方信息表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-10 11:31:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "资方信息表 查询条件", description = "资方信息表 查询条件")
+@Data
+public class LoanFinOtherPolicyApplyQuery implements Query {
+
+ @ApiModelProperty("分公司")
+ private String applyCompany;
+ @ApiModelProperty("申请部门")
+ private String department;
+ @ApiModelProperty("申请人")
+ private String applicant;
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+ @ApiModelProperty("开始日期")
+ private String createStartTime;
+ @ApiModelProperty("结束日期")
+ private String createEndTime;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyVo.java
new file mode 100644
index 0000000000..685a35d0b3
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyApplyVo.java
@@ -0,0 +1,43 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: anrui-base(安瑞基础信息模块)
+ * File: BaseFinBankVo.java
+ * Class: com.yxt.anrui.base.api.basefinbank.BaseFinBankVo
+ * Description: 资方信息表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-10 11:31:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "金融产品政策报备 视图数据对象", description = "金融产品政策报备 视图数据对象")
+@Data
+public class LoanFinOtherPolicyApplyVo implements Vo {
+ private String sid;
+ @ApiModelProperty("申请分公司")
+ private String applyCompany;
+ @ApiModelProperty("申请部门")
+ private String department;
+ @ApiModelProperty("申请人")
+ private String applicant;
+ @ApiModelProperty("申请日期")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date applyDate;
+ @ApiModelProperty("流程状态")
+ private String nodeState;
+ @ApiModelProperty("备注")
+ private String remarks;
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApply.java
new file mode 100644
index 0000000000..94540b0970
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApply.java
@@ -0,0 +1,60 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * File: BaseFinBank.java
+ * Class: com.yxt.anrui.base.api.basefinbank.BaseFinBank
+ * Description: 金融产品政策报备.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-10 11:31:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "金融产品政策报备", description = "金融产品政策报备")
+@TableName("loan_fin_other_policy_record_apply")
+@Data
+public class LoanFinOtherPolicyRecordApply extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("申请分公司")
+ private String applyCompany;
+ @ApiModelProperty("申请部门")
+ private String department;
+ @ApiModelProperty("申请人sid")
+ private String applicantSid;
+ @ApiModelProperty("申请人")
+ private String applicant;
+ @ApiModelProperty("申请日期")
+ private Date applyDate;
+ @ApiModelProperty("其他融产品政策sid")
+ private String otherPolicySid;
+ @ApiModelProperty("附件路径")
+ private String annexPath;
+ @ApiModelProperty("流程定义的id")
+ private String procDefId;
+ @ApiModelProperty("环节定义的sid")
+ private String nodeSid;
+ @ApiModelProperty("流程实例的id")
+ private String procInstId;
+ @ApiModelProperty("流程状态")
+ private String nodeState;
+ @ApiModelProperty("任务id")
+ private String taskId;
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+ @ApiModelProperty("创建组织名")
+ private String createOrgName;
+ @ApiModelProperty("使用组织全路径")
+ private String orgSidPath;
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeign.java
new file mode 100644
index 0000000000..4447c7f01d
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeign.java
@@ -0,0 +1,114 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * File: BaseFinBankFeign.java
+ * Class: com.yxt.anrui.base.api.basefinbank.BaseFinBankFeign
+ * Description: 金融产品政策报备.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-10 11:31:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "其他融产品政策报备")
+@FeignClient(
+ contextId = "anrui-riskcenter-LoanFinOtherPolicyRecordApply",
+ name = "anrui-riskcenter",
+ path = "v1/loanfinotherpolicyrecordapply",
+ fallback = LoanFinOtherPolicyRecordApplyFeignFallback.class)
+public interface LoanFinOtherPolicyRecordApplyFeign {
+
+ /**
+ * 新增
+ *
+ * @param dto
+ */
+ @ApiOperation("新增修改")
+ @PostMapping("/saveOrUpdate")
+ public ResultBean save(@Valid @RequestBody LoanFinOtherPolicyApplyDto dto);
+
+ /**
+ * 根据条件分页查询数据的列表(已测试)
+ *
+ * @param pq
+ */
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq);
+
+
+ /**
+ * 金融产品政策报备初始化
+ *
+ * @param dto
+ */
+ @ApiOperation("金融产品政策报备保存初始化")
+ @GetMapping("/policyRecordInit")
+ @ResponseBody
+ public ResultBean policyRecordInit(@RequestBody LoanFinOtherPolicyApplyDto dto);
+
+ /**
+ * 金融产品政策报备初始化
+ *
+ * @param sid
+ */
+ @ApiOperation("金融产品政策报备编辑初始化")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ @ResponseBody
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid);
+
+
+ /******************流程接口**************************************/
+ @ApiOperation("金融政策产品备案提交")
+ @PostMapping("/submit")
+ public ResultBean submitRecordApplication(@RequestBody @Valid SubmitLoanOtherPolicyApplyDto dto);
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody LoanOtherPolicyApplyCompleteDto dto);
+
+ //分公司到风控中心同意
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/companyToDivisionOperate")
+ public ResultBean companyToDivisionOperate(@Valid @RequestBody LoanOtherPolicyApplyCompleteDto query);
+
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody LoanOtherPolicyApplyTaskQuery query);
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody LoanOtherPolicyApplyTaskQuery query);
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@RequestBody LoanOtherPolicyApplyTaskQuery query);
+
+ @ApiOperation(value = "流程历史流转记录")
+ @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
+ public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ ResultBean> getNextNodesForSubmit(@Valid @RequestBody GetNodeQuery query);
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ ResultBean> getPreviousNodesForReject(@Valid @RequestBody GetNodeQuery query);
+
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeignFallback.java
new file mode 100644
index 0000000000..1a248854bf
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyFeignFallback.java
@@ -0,0 +1,86 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply;
+
+
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.GetNodeQuery;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.GetNodeVo;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.LoanOtherPolicyApplyCompleteDto;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.LoanOtherPolicyApplyTaskQuery;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.SubmitLoanOtherPolicyApplyDto;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+@Component
+public class LoanFinOtherPolicyRecordApplyFeignFallback implements LoanFinOtherPolicyRecordApplyFeign {
+
+
+ @Override
+ public ResultBean save(LoanFinOtherPolicyApplyDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> listPage(PagerQuery pq) {
+ return null;
+ }
+
+ @Override
+ public ResultBean policyRecordInit(LoanFinOtherPolicyApplyDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean fetchDetailsBySid(String sid) {
+ return null;
+ }
+
+ @Override
+ public ResultBean submitRecordApplication(SubmitLoanOtherPolicyApplyDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean complete(LoanOtherPolicyApplyCompleteDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean companyToDivisionOperate(LoanOtherPolicyApplyCompleteDto query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean revokeProcess(LoanOtherPolicyApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean taskReject(LoanOtherPolicyApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean breakProcess(LoanOtherPolicyApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean flowRecord(String procInsId) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(GetNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(GetNodeQuery query) {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/GetNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/GetNodeQuery.java
new file mode 100644
index 0000000000..bac68128e5
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/GetNodeQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/28 10:42
+ * @Description
+ */
+@Data
+public class GetNodeQuery implements Query {
+ private static final long serialVersionUID = -5674867230708197611L;
+
+ @ApiModelProperty(value = "环节定义id")
+ private String taskDefKey;
+ @ApiModelProperty(value = "业务sid")
+ private String businessSid;
+
+ @ApiModelProperty(value = "分支字段及业务字段")
+ private Map formVariables;
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/GetNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/GetNodeVo.java
new file mode 100644
index 0000000000..cdb497ed12
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/GetNodeVo.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/28 11:09
+ * @Description
+ */
+@Data
+public class GetNodeVo implements Vo {
+ private static final long serialVersionUID = 8802774014747063504L;
+ @ApiModelProperty(value = "节点名称")
+ private String name;
+ @ApiModelProperty(value = "节点id")
+ private String id;
+ @ApiModelProperty(value = "审批组")
+ private List candidateGroups;
+ @ApiModelProperty(value = "是否是最后环节")
+ private String endTask;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/LoanOtherPolicyApplyCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/LoanOtherPolicyApplyCompleteDto.java
new file mode 100644
index 0000000000..c702f7d900
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/LoanOtherPolicyApplyCompleteDto.java
@@ -0,0 +1,40 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow;
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.util.Map;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/28 9:01
+ * @Description
+ */
+@Data
+public class LoanOtherPolicyApplyCompleteDto implements Dto {
+ private static final long serialVersionUID = 3240453987322803352L;
+ @ApiModelProperty(value = "用户sid")
+ @NotBlank(message = "参数错误:userSid")
+ private String userSid;
+ @ApiModelProperty(value = "用户全路径sid")
+ private String orgSidPath;
+ @ApiModelProperty(value = "节点id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "任务id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ @ApiModelProperty(value = "流程id")
+ @NotBlank(message = "参数错误:instanceId")
+ private String instanceId;
+ @ApiModelProperty(value = "意见")
+ @NotBlank(message = "参数错误:comment")
+ private String comment;
+ @ApiModelProperty(value = "业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+ @ApiModelProperty(value = "分支字段及业务字段")
+ private Map formVariables;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/LoanOtherPolicyApplyTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/LoanOtherPolicyApplyTaskQuery.java
new file mode 100644
index 0000000000..0837bb23e2
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/LoanOtherPolicyApplyTaskQuery.java
@@ -0,0 +1,56 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/28 17:29
+ * @Description 终止、撤回、驳回查询参数
+ */
+@Data
+public class LoanOtherPolicyApplyTaskQuery implements Query {
+ private static final long serialVersionUID = -4006020771892400451L;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("任务Id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+ /**
+ * 终止、驳回
+ */
+ @ApiModelProperty("任务意见")
+ private String comment;
+ /**
+ * 终止、撤回、驳回
+ */
+ @ApiModelProperty("用户Sid")
+ private String userSid;
+ /**
+ * 终止
+ */
+ @ApiModelProperty("流程实例Id")
+ private String instanceId;
+ /*@ApiModelProperty("用户Id")
+ private String userId;
+ @ApiModelProperty("节点")
+ private String targetKey;
+ @ApiModelProperty("流程变量信息")
+ private Map values = new HashMap<>();
+ @ApiModelProperty("审批人")
+ private String assignee;
+ @ApiModelProperty("候选人")
+ private List candidateUsers = new ArrayList<>();
+ @ApiModelProperty("审批组")
+ private List candidateGroups = new ArrayList<>();*/
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/SubmitLoanOtherPolicyApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/SubmitLoanOtherPolicyApplyDto.java
new file mode 100644
index 0000000000..b8794227b4
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherpolicyrecordapply/flow/SubmitLoanOtherPolicyApplyDto.java
@@ -0,0 +1,20 @@
+package com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.LoanFinOtherPolicyApplyDto;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyApplyDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/27 13:38
+ * @Description
+ */
+@Data
+public class SubmitLoanOtherPolicyApplyDto extends LoanFinOtherPolicyApplyDto {
+ private static final long serialVersionUID = 378585162071125756L;
+ @ApiModelProperty("流程实例id")
+ private String instanceId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java
index 86a561c467..524721cc6b 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java
@@ -50,4 +50,6 @@ public class LoanFinPolicyApplyDto implements Dto {
private String createOrgName;
@ApiModelProperty("使用组织全路径")
private String orgSidPath;
+ @ApiModelProperty("备注")
+ private String remarks;
}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java
index eacb4c6215..e7bf642876 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java
@@ -36,12 +36,12 @@ public class LoanFinPolicyApplyInitListVo implements Vo {
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
- private BigDecimal depositSettle;
+ private String depositSettle;
@ApiModelProperty("名义/留购价款")
- private BigDecimal nominalPrice;
+ private String nominalPrice;
@ApiModelProperty("有效期至")
private String validDateTo;
@ApiModelProperty("是否有其他融政策")
- private boolean isOtherPolicy;
+ private boolean showOtherPolicy;
}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java
index ce5a30e64f..83d0e8f700 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java
@@ -18,6 +18,8 @@ import java.util.List;
public class LoanFinPolicyApplyInitVo implements Vo {
private String sid;
private String userSid;
+ @ApiModelProperty("备注")
+ private String remarks;
@ApiModelProperty("申请分公司")
private String applyCompany;
@ApiModelProperty("申请部门")
@@ -30,7 +32,7 @@ public class LoanFinPolicyApplyInitVo implements Vo {
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
- private String procInstId;
+ private String instanceId;
@ApiModelProperty("申请金融产品政策sid")
private List policySids = new ArrayList<>();
@ApiModelProperty("附件路径")
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java
index cddd9bd36f..ca61de4e1f 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java
@@ -1,17 +1,17 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
-import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankInitVo;
-import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankQuery;
-import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
+import java.util.List;
/**
* File: BaseFinBankFeign.java
@@ -73,4 +73,43 @@ public interface LoanFinPolicyRecordApplyFeign {
public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid);
+ /******************流程接口**************************************/
+ @ApiOperation("金融政策产品备案提交")
+ @PostMapping("/submit")
+ public ResultBean submitRecordApplication(@RequestBody @Valid SubmitLoanFinPolicyApplyDto dto);
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody LoanFinPolicyApplyCompleteDto dto);
+
+ //分公司到风控中心同意
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/companyToDivisionOperate")
+ public ResultBean companyToDivisionOperate(@Valid @RequestBody LoanFinPolicyApplyCompleteDto query);
+
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody LoanFinPolicyApplyTaskQuery query);
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody LoanFinPolicyApplyTaskQuery query);
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@RequestBody LoanFinPolicyApplyTaskQuery query);
+
+ @ApiOperation(value = "流程历史流转记录")
+ @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
+ public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ ResultBean> getNextNodesForSubmit(@Valid @RequestBody GetNodeQuery query);
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ ResultBean> getPreviousNodesForReject(@Valid @RequestBody GetNodeQuery query);
+
}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java
index 544b4883d4..beba0f0526 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java
@@ -1,11 +1,13 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
+import java.util.List;
@Component
@@ -31,4 +33,49 @@ public class LoanFinPolicyRecordApplyFeignFallback implements LoanFinPolicyRecor
public ResultBean fetchDetailsBySid(String sid) {
return null;
}
+
+ @Override
+ public ResultBean submitRecordApplication(SubmitLoanFinPolicyApplyDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean complete(LoanFinPolicyApplyCompleteDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean companyToDivisionOperate(LoanFinPolicyApplyCompleteDto query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean revokeProcess(LoanFinPolicyApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean taskReject(LoanFinPolicyApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean breakProcess(LoanFinPolicyApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean flowRecord(String procInsId) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(GetNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(GetNodeQuery query) {
+ return null;
+ }
}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/GetNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/GetNodeQuery.java
new file mode 100644
index 0000000000..7ec721f637
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/GetNodeQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Map;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/28 10:42
+ * @Description
+ */
+@Data
+public class GetNodeQuery implements Query {
+ private static final long serialVersionUID = -5674867230708197611L;
+
+ @ApiModelProperty(value = "环节定义id")
+ private String taskDefKey;
+ @ApiModelProperty(value = "业务sid")
+ private String businessSid;
+
+ @ApiModelProperty(value = "分支字段及业务字段")
+ private Map formVariables;
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/GetNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/GetNodeVo.java
new file mode 100644
index 0000000000..3016011bff
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/GetNodeVo.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/28 11:09
+ * @Description
+ */
+@Data
+public class GetNodeVo implements Vo {
+ private static final long serialVersionUID = 8802774014747063504L;
+ @ApiModelProperty(value = "节点名称")
+ private String name;
+ @ApiModelProperty(value = "节点id")
+ private String id;
+ @ApiModelProperty(value = "审批组")
+ private List candidateGroups;
+ @ApiModelProperty(value = "是否是最后环节")
+ private String endTask;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/LoanFinPolicyApplyCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/LoanFinPolicyApplyCompleteDto.java
new file mode 100644
index 0000000000..d351752b84
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/LoanFinPolicyApplyCompleteDto.java
@@ -0,0 +1,40 @@
+package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow;
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.util.Map;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/28 9:01
+ * @Description
+ */
+@Data
+public class LoanFinPolicyApplyCompleteDto implements Dto {
+ private static final long serialVersionUID = 3240453987322803352L;
+ @ApiModelProperty(value = "用户sid")
+ @NotBlank(message = "参数错误:userSid")
+ private String userSid;
+ @ApiModelProperty(value = "用户全路径sid")
+ private String orgSidPath;
+ @ApiModelProperty(value = "节点id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "任务id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ @ApiModelProperty(value = "流程id")
+ @NotBlank(message = "参数错误:instanceId")
+ private String instanceId;
+ @ApiModelProperty(value = "意见")
+ @NotBlank(message = "参数错误:comment")
+ private String comment;
+ @ApiModelProperty(value = "业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+ @ApiModelProperty(value = "分支字段及业务字段")
+ private Map formVariables;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/LoanFinPolicyApplyTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/LoanFinPolicyApplyTaskQuery.java
new file mode 100644
index 0000000000..88d24dd2b4
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/LoanFinPolicyApplyTaskQuery.java
@@ -0,0 +1,56 @@
+package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/28 17:29
+ * @Description 终止、撤回、驳回查询参数
+ */
+@Data
+public class LoanFinPolicyApplyTaskQuery implements Query {
+ private static final long serialVersionUID = -4006020771892400451L;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("任务Id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+ /**
+ * 终止、驳回
+ */
+ @ApiModelProperty("任务意见")
+ private String comment;
+ /**
+ * 终止、撤回、驳回
+ */
+ @ApiModelProperty("用户Sid")
+ private String userSid;
+ /**
+ * 终止
+ */
+ @ApiModelProperty("流程实例Id")
+ private String instanceId;
+ /*@ApiModelProperty("用户Id")
+ private String userId;
+ @ApiModelProperty("节点")
+ private String targetKey;
+ @ApiModelProperty("流程变量信息")
+ private Map values = new HashMap<>();
+ @ApiModelProperty("审批人")
+ private String assignee;
+ @ApiModelProperty("候选人")
+ private List candidateUsers = new ArrayList<>();
+ @ApiModelProperty("审批组")
+ private List candidateGroups = new ArrayList<>();*/
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/SubmitLoanFinPolicyApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/SubmitLoanFinPolicyApplyDto.java
new file mode 100644
index 0000000000..10c4f9c54b
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/flow/SubmitLoanFinPolicyApplyDto.java
@@ -0,0 +1,19 @@
+package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyApplyDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/6/27 13:38
+ * @Description
+ */
+@Data
+public class SubmitLoanFinPolicyApplyDto extends LoanFinPolicyApplyDto {
+ private static final long serialVersionUID = 378585162071125756L;
+ @ApiModelProperty("流程实例id")
+ private String instanceId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/pom.xml b/anrui-riskcenter/anrui-riskcenter-biz/pom.xml
index 7b4ce94485..c76c22d643 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/pom.xml
+++ b/anrui-riskcenter/anrui-riskcenter-biz/pom.xml
@@ -15,6 +15,11 @@
0.0.1
+
+ com.yxt.messagecenter
+ message-center-api
+ 0.0.1-SNAPSHOT
+
com.yxt
yxt-common-base
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java
index 6011557a12..6aaa16afca 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/RiskCenterApplication.java
@@ -14,7 +14,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.anrui.riskcenter"
})
@EnableDiscoveryClient
-@EnableFeignClients(basePackages = {"com.yxt.anrui.portal","com.yxt.anrui.buscenter","com.yxt.anrui.crm","com.yxt.anrui.base","com.yxt.anrui.flowable"})
+@EnableFeignClients(basePackages = {"com.yxt.anrui.portal","com.yxt.anrui.buscenter","com.yxt.messagecenter","com.yxt.anrui.crm","com.yxt.anrui.base","com.yxt.anrui.flowable"})
public class RiskCenterApplication {
public static void main(String[] args) {
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.java
new file mode 100644
index 0000000000..c874f0b1dd
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.riskcenter.biz.loanfinotherpolicyrecordapply;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.LoanFinOtherPolicyApplyVo;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.LoanFinOtherPolicyRecordApply;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecordApply;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.Map;
+
+/**
+ * @description:
+ * @author:
+ * @date: 2023/7/6
+ **/
+@Mapper
+public interface LoanFinOtherPolicyRecordApplyMapper extends BaseMapper {
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ int updateFlowFiled(Map map);
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.xml
new file mode 100644
index 0000000000..a7e8579e53
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyMapper.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+ UPDATE loan_fin_policy_record_apply
+ SET nodeState=#{nodeState}
+ , nodeSid=#{taskDefKey}
+
+ , procDefId=#{procDefId}
+
+
+ , procInstId=#{procInsId}
+
+
+ , taskId=#{taskId}
+
+ WHERE sid = #{sid}
+
+
+
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyRest.java
new file mode 100644
index 0000000000..5eb7a7e5e6
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyRest.java
@@ -0,0 +1,114 @@
+package com.yxt.anrui.riskcenter.biz.loanfinotherpolicyrecordapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
+import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.*;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.GetNodeQuery;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.GetNodeVo;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.LoanOtherPolicyApplyCompleteDto;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.LoanOtherPolicyApplyTaskQuery;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.SubmitLoanOtherPolicyApplyDto;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.*;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.*;
+import com.yxt.anrui.riskcenter.biz.loanfinpolicyrecordapply.LoanFinPolicyRecordApplyService;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2023/7/6
+ **/
+@Api(tags = "金融产品政策报备")
+@RestController
+@RequestMapping("v1/loanfinotherpolicyrecordapply")
+public class LoanFinOtherPolicyRecordApplyRest implements LoanFinOtherPolicyRecordApplyFeign {
+
+ @Autowired
+ private LoanFinOtherPolicyRecordApplyService loanFinOtherPolicyRecordApplyService;
+
+ @Override
+ public ResultBean save(LoanFinOtherPolicyApplyDto dto) {
+ return loanFinOtherPolicyRecordApplyService.saveOrUpdateRecord(dto);
+ }
+
+ @Override
+ public ResultBean> listPage(PagerQuery pq) {
+ ResultBean> rb = ResultBean.fireFail();
+ PagerVo pv = loanFinOtherPolicyRecordApplyService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @Override
+ public ResultBean policyRecordInit(LoanFinOtherPolicyApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanFinOtherPolicyApplyInitVo vo = loanFinOtherPolicyRecordApplyService.policyRecordInit(dto);
+ return rb.success().setData(vo);
+ }
+
+ @Override
+ public ResultBean fetchDetailsBySid(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanFinOtherPolicyApplyInitVo vo = loanFinOtherPolicyRecordApplyService.fetchDetailsBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @Override
+ public ResultBean submitRecordApplication(SubmitLoanOtherPolicyApplyDto dto) {
+ return loanFinOtherPolicyRecordApplyService.submitRecordApplication(dto);
+ }
+
+ @Override
+ public ResultBean complete(LoanOtherPolicyApplyCompleteDto dto) {
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(dto, bv);
+ bv.setModelId(ProcDefEnum.LOANOTHERPOLICYRECORDAPPLY.getProDefId());
+ return loanFinOtherPolicyRecordApplyService.complete(bv);
+ }
+
+ @Override
+ public ResultBean companyToDivisionOperate(LoanOtherPolicyApplyCompleteDto query) {
+ BusinessVariables bv=new BusinessVariables();
+ BeanUtil.copyProperties(query,bv);
+ bv.setModelId(ProcDefEnum.LOANOTHERPOLICYRECORDAPPLY.getProDefId());
+ return loanFinOtherPolicyRecordApplyService.companyToDivisionOperate(bv);
+ }
+
+ @Override
+ public ResultBean revokeProcess(LoanOtherPolicyApplyTaskQuery query) {
+ return loanFinOtherPolicyRecordApplyService.revokeProcess(query);
+ }
+
+ @Override
+ public ResultBean taskReject(LoanOtherPolicyApplyTaskQuery query) {
+ return loanFinOtherPolicyRecordApplyService.taskReject(query);
+ }
+
+ @Override
+ public ResultBean breakProcess(LoanOtherPolicyApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean flowRecord(String procInsId) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(GetNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(GetNodeQuery query) {
+ return null;
+ }
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyService.java
new file mode 100644
index 0000000000..d47a8a029e
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinotherpolicyrecordapply/LoanFinOtherPolicyRecordApplyService.java
@@ -0,0 +1,563 @@
+package com.yxt.anrui.riskcenter.biz.loanfinotherpolicyrecordapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery;
+import com.yxt.anrui.flowable.api.flow.FlowableFeign;
+import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
+import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
+import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
+import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
+import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
+import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
+import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
+import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
+import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
+import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
+import com.yxt.anrui.portal.api.sysuser.SysUserVo;
+import com.yxt.anrui.portal.api.sysuser.UserRoleQuery;
+import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.*;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.LoanOtherPolicyApplyTaskQuery;
+import com.yxt.anrui.riskcenter.api.loanfinotherpolicyrecordapply.flow.SubmitLoanOtherPolicyApplyDto;
+import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.*;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.GetNodeQuery;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.GetNodeVo;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.LoanFinPolicyApplyTaskQuery;
+import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.flow.SubmitLoanFinPolicyApplyDto;
+import com.yxt.anrui.riskcenter.biz.loanfinotherPolicy.LoanFinOtherPolicyService;
+import com.yxt.anrui.riskcenter.biz.loanfinpolicy.LoanFinPolicyService;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.messagecenter.api.message.MessageFeign;
+import com.yxt.messagecenter.api.message.MessageFlowVo;
+import com.yxt.messagecenter.api.message.MessageFlowableQuery;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.tomcat.util.threads.ThreadPoolExecutor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.stream.Collectors;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2023/7/6
+ **/
+@Service
+public class LoanFinOtherPolicyRecordApplyService extends MybatisBaseService {
+
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
+ @Autowired
+ private SysOrganizationFeign sysOrganizationFeign;
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private LoanFinPolicyService loanFinPolicyService;
+ @Autowired
+ private LoanFinOtherPolicyService loanFinOtherPolicyService;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+
+
+ public ResultBean saveOrUpdateRecord(LoanFinOtherPolicyApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isNotBlank(dto.getSid())) {
+ String sid = dto.getSid();
+ LoanFinOtherPolicyRecordApply entity = fetchBySid(sid);
+ StringBuffer sb = new StringBuffer();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ List policySids = dto.getPolicySids();
+ String policySid = String.join(",", policySids);
+ entity.setOtherPolicySid(policySid);
+ if (!dto.getAnnexPaths().isEmpty()) {
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ for (String filePath : dto.getAnnexPaths()) {
+ String path = filePath.substring(urlPrefix.length());
+ sb.append(path).append(",");
+ }
+ sb.delete(sb.length() - 1, sb.length());
+ entity.setAnnexPath(sb.toString());
+ }
+ int i = baseMapper.updateById(entity);
+ if (i > 0) {
+ return rb.success().setData(sid).setMsg("修改成功");
+ } else {
+ return rb.success().setData(sid).setMsg("修改失败");
+ }
+ } else {
+ //新增
+ LoanFinOtherPolicyRecordApply entity = new LoanFinOtherPolicyRecordApply();
+ String sid = entity.getSid();
+ StringBuffer sb = new StringBuffer();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ String userSid = dto.getUserSid();
+ ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath());
+ if (orgSidByPath.getSuccess()) {
+ String userOrgSid = orgSidByPath.getData();
+ entity.setCreateOrgSid(userOrgSid);
+ ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid);
+ if (organizationVo.getSuccess()) {
+ SysOrganizationVo organizationVoData = organizationVo.getData();
+ if (null != organizationVoData) {
+ entity.setCreateOrgName(organizationVoData.getName());
+ }
+ }
+ }
+ entity.setCreateBySid(userSid);
+ entity.setApplicantSid(userSid);
+ List policySids = dto.getPolicySids();
+ String policySid = String.join(",", policySids);
+ entity.setOtherPolicySid(policySid);
+ if (!dto.getAnnexPaths().isEmpty()) {
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ for (String filePath : dto.getAnnexPaths()) {
+ String path = filePath.substring(urlPrefix.length());
+ sb.append(path).append(",");
+ }
+ sb.delete(sb.length() - 1, sb.length());
+ entity.setAnnexPath(sb.toString());
+ }
+ entity.setNodeState("待提交");
+ int i = baseMapper.insert(entity);
+ if (i > 0) {
+ return rb.success().setData(sid).setMsg("保存成功");
+ } else {
+ return rb.success().setData(sid).setMsg("保存失败");
+ }
+ }
+ }
+
+ private QueryWrapper createQueryWrapper(LoanFinOtherPolicyApplyQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getApplyCompany())) {
+ qw.like("applyCompany", query.getApplyCompany());
+ }
+ if (StringUtils.isNotBlank(query.getDepartment())) {
+ qw.like("department", query.getDepartment());
+ }
+ if (StringUtils.isNotBlank(query.getApplicant())) {
+ qw.like("applicant", query.getApplicant());
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ qw.eq("createOrgSid", query.getCreateOrgSid());
+ qw.eq("isDelete", 0);
+ qw.orderByDesc("createTime");
+ return qw;
+ }
+
+ /**
+ * 分页列表
+ *
+ * @param pq
+ * @return
+ */
+ public PagerVo listPageVo(PagerQuery pq) {
+ LoanFinOtherPolicyApplyQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public LoanFinOtherPolicyApplyInitVo policyRecordInit(LoanFinOtherPolicyApplyDto dto) {
+ LoanFinOtherPolicyApplyInitVo vo = new LoanFinOtherPolicyApplyInitVo();
+ BeanUtil.copyProperties(dto, vo);
+ vo.setApplyDate(new Date());
+ List policyList = new ArrayList<>();
+ List policySids = dto.getPolicySids();
+ for (String policySid : policySids) {
+ LoanFinOtherPolicyApplyInitListVo initVo = new LoanFinOtherPolicyApplyInitListVo();
+ LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.fetchBySid(policySid);
+ BeanUtil.copyProperties(loanFinOtherPolicy, initVo);
+ initVo.setOtherPolicySid(policySid);
+ policyList.add(initVo);
+ }
+ vo.setPolicyList(policyList);
+ return vo;
+ }
+
+ public LoanFinOtherPolicyApplyInitVo fetchDetailsBySid(String sid) {
+ LoanFinOtherPolicyApplyInitVo vo = new LoanFinOtherPolicyApplyInitVo();
+ LoanFinOtherPolicyRecordApply entity = fetchBySid(sid);
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ BeanUtil.copyProperties(entity, vo);
+ if (StringUtils.isNotBlank(entity.getProcInstId())) {
+ vo.setInstanceId(entity.getProcInstId());
+ }
+ String policySid = entity.getOtherPolicySid();
+ List pSids = new ArrayList<>();
+ String[] policySids = policySid.split(",");
+ for (String s : policySids) {
+ pSids.add(s);
+ }
+ vo.setPolicySids(pSids);
+ List policyList = new ArrayList<>();
+ for (String psid : policySids) {
+ LoanFinOtherPolicyApplyInitListVo initVo = new LoanFinOtherPolicyApplyInitListVo();
+ LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.fetchBySid(psid);
+ BeanUtil.copyProperties(loanFinOtherPolicy, initVo);
+ initVo.setOtherPolicySid(psid);
+ policyList.add(initVo);
+ }
+ if (StringUtils.isNotBlank(entity.getAnnexPath())) {
+ String annexPath = entity.getAnnexPath();
+ String[] splitPath = annexPath.split(",");
+ List annexPaths = new ArrayList<>();
+ for (String path : splitPath) {
+ annexPaths.add(urlPrefix + path);
+ }
+ vo.setAnnexPaths(annexPaths);
+ }
+ vo.setPolicyList(policyList);
+ return vo;
+ }
+
+ /****************************** 流程代码 ********************************************************/
+
+ /**
+ * 判断提交的流程是否被允许
+ *
+ * @param dto
+ * @return
+ */
+ private synchronized int submitBusinessData(SubmitLoanOtherPolicyApplyDto dto, LoanFinOtherPolicyRecordApply recordApply) {
+ int r = 0;
+ if (StringUtils.isBlank(dto.getSid())) {
+ r = 1;
+ } else {
+ if (recordApply != null) {
+ String businessTaskId = recordApply.getTaskId();
+ if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
+ //新提交
+ r = 1;
+ } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
+ //二次提交//只有数据一致的时候才能进行下一步
+ r = 2;
+ }
+ } else {
+ r = 3;
+ }
+ }
+ return r;
+ }
+
+ public ResultBean submitRecordApplication(SubmitLoanOtherPolicyApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanFinOtherPolicyRecordApply recordApply = fetchBySid(dto.getSid());
+ int r = submitBusinessData(dto, recordApply);
+ if (r == 3) {
+ return rb.setMsg("该申请不存在");
+ }
+ if (r == 0) {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ //新增修改保存
+ ResultBean resultBean = saveOrUpdateRecord(dto);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ String businessSid = resultBean.getData();
+ //创建BusinessVariables实体对象
+ BusinessVariables bv = new BusinessVariables();
+ //流程中的参数赋值
+ Map variables = BeanUtil.beanToMap(dto);
+ Map appMap = new HashMap<>();
+ //若有网关,则赋值网关中判断的字段。
+ variables.put("businessSid", businessSid);
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ LoanFinOtherPolicyRecordApply recordApply1 = fetchBySid(businessSid);
+ //用户的部门全路径sid
+ bv.setOrgSidPath(recordApply1.getOrgSidPath());
+ //业务sid
+ bv.setBusinessSid(businessSid);
+ //用户sid
+ bv.setUserSid(dto.getUserSid());
+ bv.setFormVariables(variables);
+ //流程定义id
+ bv.setModelId(ProcDefEnum.LOANOTHERPOLICYRECORDAPPLY.getProDefId());
+ if (r == 1) {
+ //流程定义id
+ bv.setModelId(ProcDefEnum.LOANOTHERPOLICYRECORDAPPLY.getProDefId());
+ ResultBean voResultBean = flowableFeign.startProcess(bv);
+ if (!voResultBean.getSuccess()) {
+ return rb.setMsg(voResultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = voResultBean.getData();
+ int i = updateFlowFiled(BeanUtil.beanToMap(ufVo));
+ if (i > 0) {
+ List policySids = dto.getPolicySids();
+ for (String policySid : policySids) {
+ LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.fetchBySid(policySid);
+ loanFinOtherPolicy.setFilingState(2);
+ loanFinOtherPolicyService.updateById(loanFinOtherPolicy);
+ }
+ }
+ //==================================添加线程
+ try {
+ ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
+ .setNameFormat("demo-pool-%d").build();
+ ExecutorService pool = new ThreadPoolExecutor(2, 100,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
+ Future future1 = pool.submit(() -> {
+ //极光推送
+ // busVehicleApply.set(fetchBySid(businessSid))
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("其他融产品备案");
+ SysUserVo userVo = sysUserFeign.fetchBySid(recordApply1.getCreateBySid()).getData();
+ if (userVo != null) {
+ if (StringUtils.isNotBlank(userVo.getName())) {
+ messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ }
+ }
+ messageFlowableQuery.setMsgTitle("其他融产品备案");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ //==================================添加线程
+ return voResultBean;
+ }
+ if (r == 2) {
+ // ToDo:驳回到发起人后再次提交
+ if (StringUtils.isBlank(dto.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ bv.setTaskId(recordApply.getTaskId());
+ bv.setTaskDefKey(recordApply.getNodeSid());
+ bv.setComment("重新提交");
+ bv.setInstanceId(dto.getInstanceId());
+ return complete(bv);
+ }
+ return rb;
+ }
+
+ private int updateFlowFiled(Map map) {
+ return baseMapper.updateFlowFiled(map);
+ }
+
+ public ResultBean complete(BusinessVariables bv) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = bv.getBusinessSid();
+ LoanFinOtherPolicyRecordApply recordApply = this.fetchBySid(businessSid);
+ if (bv.getTaskId().equals(recordApply.getTaskId())) {
+ bv.setOrgSidPath(recordApply.getOrgSidPath());
+ ResultBean resultBean = flowableFeign.handleProsess(bv);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
+// LoanFinPolicyApplyInitVo entity = fetchDetailsBySid(businessSid);
+// List policySids = entity.getPolicySids();
+// for (String policySid : policySids) {
+// LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(policySid);
+// loanFinPolicy.setFilingState(1);
+// loanFinPolicyService.updateById(loanFinPolicy);
+// }
+ }
+ return rb.success().setData(resultBean.getData());
+ } else {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ }
+
+ public ResultBean companyToDivisionOperate(BusinessVariables bv) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanFinOtherPolicyRecordApply otherPolicyRecordApply = fetchBySid(bv.getBusinessSid());
+ bv.setOrgSidPath(otherPolicyRecordApply.getOrgSidPath());
+ Map variables = bv.getFormVariables();
+ otherPolicyRecordApply = fetchBySid(bv.getBusinessSid());
+ FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
+ flowProcessMapQuery.setProDefKey(otherPolicyRecordApply.getProcDefId());
+ flowProcessMapQuery.setVariables(variables);
+ variables = flowableFeign.getMap(flowProcessMapQuery).getData();
+ bv.setFormVariables(variables);
+ //=======================================
+ ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
+ List candidateGroups = voList.get(0).getCandidateGroups();
+ UserRoleQuery userRoleQuery = new UserRoleQuery();
+ userRoleQuery.setRoleSid(candidateGroups.get(0));
+ List sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData();
+ StringBuilder nextNodeUserSids = new StringBuilder();
+ if (sysUserVos.size() > 0) {
+ for (SysUserVo sysUserVo : sysUserVos) {
+ String sid = sysUserVo.getSid();
+ nextNodeUserSids.append(sid).append(",");
+ }
+ }
+ if (StringUtils.isBlank(nextNodeUserSids)) {
+ return rb.setMsg("下一环节暂无操作人员");
+ }
+ String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
+ bv.setNextNodeUserSids(substring);
+ if (bv.getTaskId().equals(otherPolicyRecordApply.getTaskId())) {
+ variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", bv.getBusinessSid());
+ variables.put("app", appMap);
+ //========================================
+ otherPolicyRecordApply = fetchBySid(bv.getBusinessSid());
+ flowProcessMapQuery = new FlowProcessMapQuery();
+ flowProcessMapQuery.setProDefKey(otherPolicyRecordApply.getProcDefId());
+ flowProcessMapQuery.setVariables(variables);
+ variables = flowableFeign.getMap(flowProcessMapQuery).getData();
+ //=======================================
+ bv.setFormVariables(variables);
+ ResultBean resultBean1 = flowableFeign.handleProsess(bv);
+ if (!resultBean1.getSuccess()) {
+ return rb.setMsg(resultBean1.getMsg());
+ }
+ updateFlowFiled(BeanUtil.beanToMap(resultBean1.getData()));
+ //极光推送
+ UpdateFlowFieldVo ufVo = resultBean1.getData();
+ otherPolicyRecordApply = fetchBySid(bv.getBusinessSid());
+ SysUserVo userVo = sysUserFeign.fetchBySid(otherPolicyRecordApply.getCreateBySid()).getData();
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowVo.setProcInsId(otherPolicyRecordApply.getProcInstId());
+ messageFlowVo.setProcDefId(otherPolicyRecordApply.getProcDefId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
+ messageFlowableQuery.setModuleName("其他融产品备案");
+ messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("其他融产品备案");
+ messageFeign.pushMessage(messageFlowableQuery);
+ //修改备案状态
+ LoanFinOtherPolicyApplyInitVo finOtherPolicyApplyInitVo = fetchDetailsBySid(bv.getBusinessSid());
+ List policySids = finOtherPolicyApplyInitVo.getPolicySids();
+ for (String policySid : policySids) {
+ LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.fetchBySid(policySid);
+ loanFinOtherPolicy.setFilingState(1);
+ loanFinOtherPolicyService.updateById(loanFinOtherPolicy);
+ }
+ return rb.success().setData(resultBean1.getData());
+ } else {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ }
+
+ public ResultBean revokeProcess(LoanOtherPolicyApplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ LoanFinOtherPolicyRecordApply recordApply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = recordApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+ return rb.setMsg("操作失败,提交的数据不一致!");
+ }
+
+ public ResultBean taskReject(LoanOtherPolicyApplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = query.getBusinessSid();
+ LoanFinOtherPolicyRecordApply recordApply = fetchBySid(businessSid);
+ if (recordApply == null) {
+ return rb.setMsg("该申请不存在");
+ }
+ String businessTaskId = recordApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ flowTaskVo.setValues(variables);
+ ResultBean resultBean = flowableFeign.taskReject(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ Map map = BeanUtil.beanToMap(ufVo);
+ //更新业务中的流程相关的参数
+ updateFlowFiled(map);
+ //极光推送
+ recordApply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ String procId = recordApply.getProcInstId();
+ messageFlowVo.setProcInsId(procId);
+ messageFlowVo.setProcDefId(recordApply.getProcDefId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("其他融产品备案");
+ ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId);
+ String nextName = listResultBean.getData().get(0).getName_();
+ String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
+ List receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
+// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) {
+ if ("发起申请".equals(nextName)) {
+ messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
+ } else {
+ SysUserVo userVo = sysUserFeign.fetchBySid(recordApply.getCreateBySid()).getData();
+ if (userVo != null) {
+ if (StringUtils.isNotBlank(userVo.getName())) {
+ messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ }
+ }
+ }
+ messageFlowableQuery.setMsgTitle("其他融产品备案");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ return rb.success();
+ }
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java
index eec44da5bf..dc06ec41e5 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java
@@ -9,6 +9,8 @@ import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecord
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import java.util.Map;
+
/**
* @description:
* @author: dimengzhe
@@ -17,4 +19,6 @@ import org.apache.ibatis.annotations.Param;
@Mapper
public interface LoanFinPolicyRecordApplyMapper extends BaseMapper {
IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ int updateFlowFiled(Map map);
}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml
index 66241f0f17..b4d5407ed3 100644
--- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml
@@ -1,6 +1,22 @@
+
+
+ UPDATE loan_fin_policy_record_apply
+ SET nodeState=#{nodeState}
+ , nodeSid=#{taskDefKey}
+
+ , procDefId=#{procDefId}
+
+
+ , procInstId=#{procInsId}
+
+
+ , taskId=#{taskId}
+
+ WHERE sid = #{sid}
+