From ce3fa97ca965b86b19fc7d1d65cac0e5a27e0083 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Thu, 12 Oct 2023 18:08:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AC=A0=E6=AC=BE=E5=AE=A2=E6=88=B7=E5=A4=87?= =?UTF-8?q?=E6=A1=88PC=E7=AB=AF=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseDistributorService.java | 3 +- .../BaseDistributorApplyService.java | 3 +- .../CrmCustomerTempListVo.java | 11 + .../crmcustomertemp/CrmCustomerTempMapper.xml | 49 +- .../FinCompanyInvoicingDto.java | 2 + .../FinCompanyInvoicingFeign.java | 5 + .../FinCompanyInvoicingFeignFallback.java | 5 + .../FinCompanyInvoicingMapper.java | 3 + .../FinCompanyInvoicingMapper.xml | 1 + .../FinCompanyInvoicingRest.java | 5 + .../FinCompanyInvoicingService.java | 11 + .../anrui/flowable/api/utils/ProcDefEnum.java | 1 + .../api/sysparameter/SysParameterEnum.java | 38 + .../LoanCustomerRecord.java | 89 ++ .../LoanCustomerRecordDetailsVo.java | 95 ++ .../LoanCustomerRecordDto.java | 95 ++ .../LoanCustomerRecordFeign.java | 133 +++ .../LoanCustomerRecordFeignFallback.java | 93 ++ .../LoanCustomerRecordQuery.java | 55 ++ .../LoanCustomerRecordVo.java | 55 ++ .../LoanFinCompanyInvoicingVo.java | 21 + .../app/AppCustomerRecordQuery.java | 21 + .../app/AppCustomerRecordVo.java | 56 ++ .../flow/CustomerRecordCompleteDto.java | 41 + .../flow/CustomerRecordDelegateQuery.java | 26 + .../flow/CustomerRecordTaskQuery.java | 56 ++ .../loancustomerrecord/flow/GetNodeQuery.java | 26 + .../loancustomerrecord/flow/GetNodeVo.java | 25 + .../flow/SubmitCustomerRecordDto.java | 20 + .../LoanCustomerRecordStaff.java | 45 + .../LoanCustomerRecordStaffDto.java | 26 + .../LoanCustomerRecordStaffFeign.java | 57 ++ .../LoanCustomerRecordStaffFeignFallback.java | 32 + .../LoanCustomerRecordStaffVo.java | 25 + .../riskcenter/api/loanfile/LoanFileEnum.java | 5 + anrui-riskcenter/anrui-riskcenter-biz/pom.xml | 13 +- .../riskcenter/RiskCenterApplication.java | 2 +- .../LoanCustomerRecordMapper.java | 37 + .../LoanCustomerRecordMapper.xml | 74 ++ .../LoanCustomerRecordRest.java | 127 +++ .../LoanCustomerRecordService.java | 935 ++++++++++++++++++ .../LoanCustomerRecordStaffMapper.java | 27 + .../LoanCustomerRecordStaffMapper.xml | 16 + .../LoanCustomerRecordStaffRest.java | 37 + .../LoanCustomerRecordStaffService.java | 54 + .../CustomerRecordFeign.java | 35 + .../CustomerRecordFeignFallback.java | 19 + .../CustomerRecordQuery.java | 21 + .../loancustomerrecord/CustomerRecordVo.java | 56 ++ .../CustomerRecordRest.java | 30 + .../CustomerRecordService.java | 44 + 51 files changed, 2735 insertions(+), 26 deletions(-) create mode 100644 anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterEnum.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecord.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordDetailsVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordFeignFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanFinCompanyInvoicingVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/app/AppCustomerRecordQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/app/AppCustomerRecordVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordCompleteDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordDelegateQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordTaskQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/GetNodeQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/GetNodeVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/SubmitCustomerRecordDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaff.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffFeignFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordService.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffService.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordFeign.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordFeignFallback.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordVo.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loancustomerrecord/CustomerRecordRest.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loancustomerrecord/CustomerRecordService.java diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java index e8398435a4..854ee25abd 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basedistributor/BaseDistributorService.java @@ -40,6 +40,7 @@ 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.sysparameter.SysParameterEnum; import com.yxt.anrui.portal.api.sysparameter.SysParameterFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; @@ -1337,7 +1338,7 @@ public class BaseDistributorService extends MybatisBaseService + \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java index da213579c0..dc5179bad1 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingRest.java @@ -122,6 +122,11 @@ public class FinCompanyInvoicingRest implements FinCompanyInvoicingFeign { return finCompanyInvoicingService.selectInvoingByTaxpayerNo(taxpayerNo); } + @Override + public ResultBean> selectInvoingByOrgPath(String orgPath) { + return finCompanyInvoicingService.selectInvoingByOrgPath(orgPath); + } + @Override public ResultBean> qyListPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java index de1c589a84..432812836a 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java @@ -486,4 +486,15 @@ public class FinCompanyInvoicingService extends MybatisBaseService> selectInvoingByOrgPath(String orgPath) { + ResultBean> rb = ResultBean.fireFail(); + List voList = new ArrayList<>(); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + voList = baseMapper.selectInvoingByOrgPath(userOrgSid); + } + return rb.success().setData(voList); + } } \ No newline at end of file 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 db1e95b61e..3e7a2d4fe2 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 @@ -58,6 +58,7 @@ public enum ProcDefEnum { LOANTEMPLATEAPPLY("定制金融方案", "process_9q5omebi:2:2685008"), LOANHOMEVISITAPPEALAPPLY("家访考察申诉", "process_8ujil3h3:1:3665004"), BUSVALCUSTFILING("价值客户备案申请", "process_n8fwpitk:2:5085004"), + LOANCUSTOMERRECORD("欠款客户备案", "process_x6o0chx9:1:5715004"), /******************************测试流程id*********************************************/ diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterEnum.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterEnum.java new file mode 100644 index 0000000000..adee3dd608 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysparameter/SysParameterEnum.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.portal.api.sysparameter; + +/** + * @Author fan + * @Date 2022/11/14 22:46 + * @Description + */ +public enum SysParameterEnum { + + JXSBAYXQ("001", "JXSBAYXQ"), + QKKHBAYXQ("002", "QKKHBAYXQ"), + ; + + + /** + * 参数类型 + */ + private final String parameterKey; + + /** + * 参数值 + */ + private final String parameterValue; + + SysParameterEnum(String parameterKey, String parameterValue) { + this.parameterKey = parameterKey; + this.parameterValue = parameterValue; + } + + + public String getParameterKey() { + return parameterKey; + } + + public String getParameterValue() { + return parameterValue; + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecord.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecord.java new file mode 100644 index 0000000000..f7f00b8d71 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecord.java @@ -0,0 +1,89 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord; + +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: LoanCustomerRecord.java
+ * 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_customer_record") +@Data +public class LoanCustomerRecord extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("销售专员sid") + private String salesmanSid; // 销售专员sid + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请日期") + private Date applyDate; // 申请日期 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("销售部门") + private String salesDept; + @ApiModelProperty("销售部门sid") + private String salesDeptSid; + @ApiModelProperty("销售经理主管") + private String manage; + @ApiModelProperty("销售经理主管sid") + private String manageSid; + @ApiModelProperty("有效期") + private String effectiveDate; + @ApiModelProperty("是否挂靠运输公司1是0否") + private String isAnchored; // 台数 + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("客户") + private String customer; + @ApiModelProperty("客户类型key") + private String customerTypeKey; + @ApiModelProperty("客户类型") + private String customerType; + @ApiModelProperty("挂靠公司企业名称") + private String businessName; // 台数 + @ApiModelProperty("统一社会信用代码") + private String taxpayerNo; + @ApiModelProperty("挂靠公司地址") + private String address; + @ApiModelProperty("挂靠公司电话") + private String phone; // 台数 + @ApiModelProperty("负责人") + private String leader; + @ApiModelProperty("法定代表人") + private String legal; + @ApiModelProperty("使用组织sid") + private String useOrgSid; // 使用组织sid + @ApiModelProperty("使用组织名称") + private String useOrgName; // 使用组织名称 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("环节定义的sid") + private String nodeSid; // 环节定义的sid + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("taskId") + private String taskId; // taskId + @ApiModelProperty("申请人组织路径") + private String orgSidPath; // 申请人组织路径 + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordDetailsVo.java new file mode 100644 index 0000000000..70d6af13de --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordDetailsVo.java @@ -0,0 +1,95 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord; + +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffVo; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/10/10 17:22 + */ +@Data +public class LoanCustomerRecordDetailsVo implements Vo { + + private String sid; + @ApiModelProperty("登录用户sid") + private String userSid; // 登录用户sid + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("申请日期") + private String applyDate; + @ApiModelProperty("销售专员sid") + private String salesmanSid; // 销售专员sid + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("销售部门") + private String salesDept; + @ApiModelProperty("销售部门sid") + private String salesDeptSid; + @ApiModelProperty("销售经理主管") + private String manage; + @ApiModelProperty("销售经理主管sid") + private String manageSid; + @ApiModelProperty("是否挂靠运输公司1是0否") + private String isAnchored; // 是否挂靠运输公司1是0否 + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("客户") + private String customer; + @ApiModelProperty("客户类型key") + private String customerTypeKey; + @ApiModelProperty("客户类型") + private String customerType; + @ApiModelProperty("客户联系电话") + private String clientPhone; + @ApiModelProperty("客户证件号") + private String clientNo; + @ApiModelProperty("客户证件类型") + private String documents; + @ApiModelProperty("客户证件有效期") + private String documentsDate; + @ApiModelProperty("客户地址") + private String clientAddress; + @ApiModelProperty("挂靠公司企业名称") + private String businessName; // 台数 + @ApiModelProperty("统一社会信用代码") + private String taxpayerNo; + @ApiModelProperty("挂靠公司地址") + private String address; + @ApiModelProperty("挂靠公司电话") + private String phone; // 台数 + @ApiModelProperty("负责人") + private String leader; + @ApiModelProperty("法定代表人") + private String legal; + @ApiModelProperty("申请人组织路径") + private String orgPath; // 申请人组织路径 + @ApiModelProperty("企业开票人员信息") + private List staffs = new ArrayList<>(); + @ApiModelProperty("营业执照") + private List license = new ArrayList<>(); + @ApiModelProperty("法人和实际控制人身份证") + private List idCard = new ArrayList<>(); + @ApiModelProperty("信息查询授权书") + private List infoLetter = new ArrayList<>(); + @ApiModelProperty("车队挂靠协议") + private List agreement = new ArrayList<>(); + @ApiModelProperty("其他资料") + private List otherInfo = new ArrayList<>(); + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("实例id") + private String instanceId; + @ApiModelProperty("备注") + private String remarks; // 备注 + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordDto.java new file mode 100644 index 0000000000..d5b3b201de --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordDto.java @@ -0,0 +1,95 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord; + + +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffDto; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffVo; +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 LoanCustomerRecordDto implements Dto { + + private String sid; + @ApiModelProperty("登录用户sid") + private String userSid; // 申请人 + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("申请日期") + private String applyDate; + @ApiModelProperty("销售专员sid") + private String salesmanSid; // 销售专员sid + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("申请部门sid") + private String deptSid; + @ApiModelProperty("销售部门") + private String salesDept; + @ApiModelProperty("销售部门sid") + private String salesDeptSid; + @ApiModelProperty("销售经理主管") + private String manage; + @ApiModelProperty("销售经理主管sid") + private String manageSid; + @ApiModelProperty("是否挂靠运输公司1是0否") + private String isAnchored; // 台数 + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("客户") + private String customer; + @ApiModelProperty("客户类型key") + private String customerTypeKey; + @ApiModelProperty("客户类型") + private String customerType; + @ApiModelProperty("挂靠公司企业名称") + private String businessName; // 台数 + @ApiModelProperty("统一社会信用代码") + private String taxpayerNo; + @ApiModelProperty("挂靠公司地址") + private String address; + @ApiModelProperty("挂靠公司电话") + private String phone; // 台数 + @ApiModelProperty("负责人") + private String leader; + @ApiModelProperty("法定代表人") + private String legal; + @ApiModelProperty("申请人组织路径") + private String orgPath; // 申请人组织路径 + @ApiModelProperty("企业开票人员信息") + private List staffs = new ArrayList<>(); + @ApiModelProperty("营业执照") + private List license = new ArrayList<>(); + @ApiModelProperty("法人和实际控制人身份证") + private List idCard = new ArrayList<>(); + @ApiModelProperty("信息查询授权书") + private List infoLetter = new ArrayList<>(); + @ApiModelProperty("车队挂靠协议") + private List agreement = new ArrayList<>(); + @ApiModelProperty("其他资料") + private List otherInfo = new ArrayList<>(); + @ApiModelProperty("备注") + private String remarks; // 备注 + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordFeign.java new file mode 100644 index 0000000000..23c2b7955d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordFeign.java @@ -0,0 +1,133 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord; + +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordQuery; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.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.cloud.openfeign.SpringQueryMap; +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-LoanCustomerRecord", + name = "anrui-riskcenter", + path = "v1/loancustomerrecord", + fallback = LoanCustomerRecordFeignFallback.class) +public interface LoanCustomerRecordFeign { + + /** + * 根据条件分页查询数据的列表(已测试) + * + * @param pq + */ + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + /** + * 编辑回显、详情查看 + * + * @param + */ + @ApiOperation("编辑回显、详情查看") + @GetMapping("/detail/{sid}") + @ResponseBody + public ResultBean detail(@PathVariable("sid") String sid); + + /** + * 保存修改 + * @param + */ + @ApiOperation("保存修改") + @PostMapping("/saveRecord") + @ResponseBody + public ResultBean saveRecord(@RequestBody LoanCustomerRecordDto dto); + + /** + * 查询挂靠公司 + * @param + */ + @ApiOperation("查询挂靠公司") + @GetMapping("/selectInvoingByOrgPath") + @ResponseBody + public ResultBean> selectInvoingByOrgPath(@RequestParam("orgPath") String orgPath); + + /** + * 批量删除(已测试) + * + * @param sids + */ + @ApiOperation("批量删除") + @DeleteMapping("/deleteBySids") + @ResponseBody + public ResultBean deleteBySids(@RequestBody String[] sids); + + //------------------------------流程接口---------------------------------------------- + + @ApiOperation("欠款客户备案提交") + @PostMapping("/submit") + public ResultBean submitRecordApplication(@RequestBody @Valid SubmitCustomerRecordDto dto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CustomerRecordCompleteDto dto); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody CustomerRecordTaskQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody CustomerRecordTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@RequestBody CustomerRecordTaskQuery 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 @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + public ResultBean delegate(@RequestBody CustomerRecordDelegateQuery distributorDelegateQuery); + + + //---------------------------app-------------------------------- + @ApiOperation("移动端-欠款客户备案分页列表") + @PostMapping("/getCustomerRecordList") + @ResponseBody + ResultBean> getCustomerRecordList(@RequestBody PagerQuery pagerQuery); + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordFeignFallback.java new file mode 100644 index 0000000000..c5e4db7b53 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordFeignFallback.java @@ -0,0 +1,93 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord; + + +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordQuery; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.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 LoanCustomerRecordFeignFallback implements LoanCustomerRecordFeign { + + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean detail(String sid) { + return null; + } + + @Override + public ResultBean saveRecord(LoanCustomerRecordDto dto) { + return null; + } + + @Override + public ResultBean> selectInvoingByOrgPath(String orgPath) { + return null; + } + + @Override + public ResultBean deleteBySids(String[] sids) { + return null; + } + + @Override + public ResultBean submitRecordApplication(SubmitCustomerRecordDto dto) { + return null; + } + + @Override + public ResultBean complete(CustomerRecordCompleteDto dto) { + return null; + } + + @Override + public ResultBean revokeProcess(CustomerRecordTaskQuery query) { + return null; + } + + @Override + public ResultBean taskReject(CustomerRecordTaskQuery query) { + return null; + } + + @Override + public ResultBean breakProcess(CustomerRecordTaskQuery 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; + } + + @Override + public ResultBean delegate(CustomerRecordDelegateQuery distributorDelegateQuery) { + return null; + } + + @Override + public ResultBean> getCustomerRecordList(PagerQuery pagerQuery) { + return null; + } +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordQuery.java new file mode 100644 index 0000000000..d43ac7b862 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordQuery.java @@ -0,0 +1,55 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord; + + +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 LoanCustomerRecordQuery implements Query { + + @ApiModelProperty("分公司") + private String company; // 使用组织名称 + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请开始日期") + private String applyStartDate; // 申请日期 + @ApiModelProperty("申请结束日期") + private String applyEndDate; // 申请日期 + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("有效期") + private String effectiveStartDate; + @ApiModelProperty("有效期") + private String effectiveEndDate; + @ApiModelProperty("客户类型") + private String customerTypeKey; + @ApiModelProperty("组织全路径") + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + @ApiModelProperty("菜单url") + private String menuUrl; + @ApiModelProperty("用户sid") + private String userSid; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordVo.java new file mode 100644 index 0000000000..4eb08a241b --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanCustomerRecordVo.java @@ -0,0 +1,55 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord; + + +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 LoanCustomerRecordVo implements Vo { + + private String sid; + @ApiModelProperty("申请人") + private String applyName; // 申请人 + @ApiModelProperty("销售专员") + private String salesman; // 销售专员 + @ApiModelProperty("申请日期") + private String applyDate; // 申请日期 + @ApiModelProperty("申请部门") + private String dept; + @ApiModelProperty("客户") + private String customer; + @ApiModelProperty("客户类型") + private String customerType; + @ApiModelProperty("有效期") + private String effectiveDate; + @ApiModelProperty("分公司") + private String company; // 使用组织名称 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("备注") + private String remarks; // 备注 + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanFinCompanyInvoicingVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanFinCompanyInvoicingVo.java new file mode 100644 index 0000000000..5976a668ae --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/LoanFinCompanyInvoicingVo.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/10/11 17:05 + */ +@Data +public class LoanFinCompanyInvoicingVo { + @ApiModelProperty("挂靠公司企业名称") + private String businessName; // 台数 + @ApiModelProperty("统一社会信用代码") + private String taxpayerNo; + @ApiModelProperty("挂靠公司地址") + private String address; + @ApiModelProperty("挂靠公司电话") + private String phone; // 台数 +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/app/AppCustomerRecordQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/app/AppCustomerRecordQuery.java new file mode 100644 index 0000000000..e69c233edd --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/app/AppCustomerRecordQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord.app; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/10/12 15:51 + */ +@Data +public class AppCustomerRecordQuery implements Query { + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "名称") + private String name; + @ApiModelProperty("机构sid") + private String orgPath; + private String menuSid; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/app/AppCustomerRecordVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/app/AppCustomerRecordVo.java new file mode 100644 index 0000000000..24d547b7ea --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/app/AppCustomerRecordVo.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord.app; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/10/12 15:49 + */ +@Data +public class AppCustomerRecordVo implements Vo { + /** + * 申请日期 + */ + private String applyDate; + /** + * 申请人 + */ + private String applyName; + /** + * 分公司 + */ + private String company; + /** + * 申请部门 + */ + private String dept; + /** + * 客户名称 + */ + private String customer; + /** + * 有效期至 + */ + private String effectiveDate; + /** + * 销售专员 + */ + private String salesman; + /** + * 备案记录sid + */ + private String sid; + /** + * 流程状态 + */ + private String state; + + @ApiModelProperty("某某部门,某某人") + private String publishInfo; + private boolean updateBtn; + private boolean deleteBtn; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordCompleteDto.java new file mode 100644 index 0000000000..df669636e2 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordCompleteDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord.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 CustomerRecordCompleteDto 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/loancustomerrecord/flow/CustomerRecordDelegateQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordDelegateQuery.java new file mode 100644 index 0000000000..9e08524c9d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordDelegateQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord.flow; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 9:28 + */ +@Data +public class CustomerRecordDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") +// @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordTaskQuery.java new file mode 100644 index 0000000000..4d8c839b76 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/CustomerRecordTaskQuery.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord.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 CustomerRecordTaskQuery 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/loancustomerrecord/flow/GetNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/GetNodeQuery.java new file mode 100644 index 0000000000..84f62c6143 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/GetNodeQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord.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/loancustomerrecord/flow/GetNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/GetNodeVo.java new file mode 100644 index 0000000000..a930775f9f --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/GetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord.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/loancustomerrecord/flow/SubmitCustomerRecordDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/SubmitCustomerRecordDto.java new file mode 100644 index 0000000000..ce8668161b --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecord/flow/SubmitCustomerRecordDto.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecord.flow; + +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitCustomerRecordDto extends LoanCustomerRecordDto { + 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/loancustomerrecordstaff/LoanCustomerRecordStaff.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaff.java new file mode 100644 index 0000000000..8e1d9d7000 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaff.java @@ -0,0 +1,45 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecordstaff; + +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: LoanCustomerRecord.java
+ * 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_customer_record_staff") +@Data +public class LoanCustomerRecordStaff extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("欠款客户备案sid") + private String customerRecordSid; + + @ApiModelProperty("姓名(陕汽必须字段)") + private String name; + + @ApiModelProperty("身份key") + private String identityKey; + + @ApiModelProperty("身份value") + private String identityValue; + + @ApiModelProperty("联系电话(陕汽必须字段)") + private String mobile; + @ApiModelProperty("身份证号") + private String idNumber; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffDto.java new file mode 100644 index 0000000000..ae3a72ee1d --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffDto.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecordstaff; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/10/10 17:05 + */ +@Data +public class LoanCustomerRecordStaffDto implements Dto { + + + @ApiModelProperty("姓名(陕汽必须字段)") + private String name; + @ApiModelProperty("身份key") + private String identityKey; + @ApiModelProperty("身份value") + private String identityValue; + @ApiModelProperty("联系电话(陕汽必须字段)") + private String mobile; + @ApiModelProperty("身份证号") + private String idNumber; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffFeign.java new file mode 100644 index 0000000000..19b4ab9075 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffFeign.java @@ -0,0 +1,57 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecordstaff; + +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 org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +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-LoanCustomerRecordStaff", + name = "anrui-riskcenter", + path = "v1/loancustomerrecordstaff", + fallback = LoanCustomerRecordStaffFeignFallback.class) +public interface LoanCustomerRecordStaffFeign { + + /** + * 新增 + */ + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/saveStaff") + public ResultBean saveStaff(@RequestBody LoanCustomerRecordStaffDto dto); + + /** + * 根据欠款客户备案sid删除 + */ + @ApiOperation("根据欠款客户备案sid删除") + @DeleteMapping("/deleteByMainSid") + public ResultBean deleteByMainSid(@RequestParam("customerRecordSid") String customerRecordSid); + + /** + * 根据欠款客户备案sid查询人员信息 + */ + @ApiOperation("根据欠款客户备案sid删除") + @GetMapping("/getStaffsByMainSid") + @ResponseBody + public ResultBean> getStaffsByMainSid(@RequestParam("customerRecordSid") String customerRecordSid); + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffFeignFallback.java new file mode 100644 index 0000000000..2dcecda9fb --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffFeignFallback.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecordstaff; + + +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordQuery; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordVo; +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 LoanCustomerRecordStaffFeignFallback implements LoanCustomerRecordStaffFeign { + + + @Override + public ResultBean saveStaff(LoanCustomerRecordStaffDto dto) { + return null; + } + + @Override + public ResultBean deleteByMainSid(String customerRecordSid) { + return null; + } + + @Override + public ResultBean> getStaffsByMainSid(String customerRecordSid) { + return null; + } +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffVo.java new file mode 100644 index 0000000000..64e38ce02e --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancustomerrecordstaff/LoanCustomerRecordStaffVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.riskcenter.api.loancustomerrecordstaff; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/10/10 17:18 + */ +@Data +public class LoanCustomerRecordStaffVo implements Vo { + + @ApiModelProperty("姓名(陕汽必须字段)") + private String name; + @ApiModelProperty("身份key") + private String identityKey; + @ApiModelProperty("身份value") + private String identityValue; + @ApiModelProperty("联系电话(陕汽必须字段)") + private String mobile; + @ApiModelProperty("身份证号") + private String idNumber; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java index ddbe4df1bf..409dfbb51c 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java @@ -15,6 +15,11 @@ public enum LoanFileEnum { CREDIT_REVIEW_FILES("006", "非担保业务进度资方信审结果"), LOAN_REVIEW_FILES("007", "非担保业务进度资方放款审核结果"), FIN_BANK("008", "资方"), + LICENSE("009", "欠款客户备案营业执照"), + ID_CARD("010", "欠款客户备案法人和实际控制人身份证"), + INFO_LETTER("011", "欠款客户备案信息查询授权书"), + AGREEMENT("012", "车队挂靠协议"), + OTHER_INFO("013", "欠款客户备案其他资料"), ; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/pom.xml b/anrui-riskcenter/anrui-riskcenter-biz/pom.xml index c76c22d643..1dc0936167 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/pom.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/pom.xml @@ -2,7 +2,7 @@ - + com.yxt yxt-parent 0.0.1 @@ -15,6 +15,11 @@ 0.0.1 + + com.yxt.anrui.fin + anrui-fin + 0.0.1 + com.yxt.messagecenter message-center-api @@ -90,6 +95,12 @@ 0.0.1-SNAPSHOT compile + + com.yxt.anrui.fin + anrui-fin-api + 0.0.1-SNAPSHOT + compile + 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 6aaa16afca..6baa88dd68 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.messagecenter","com.yxt.anrui.crm","com.yxt.anrui.base","com.yxt.anrui.flowable"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.fin","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/loancustomerrecord/LoanCustomerRecordMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordMapper.java new file mode 100644 index 0000000000..5ddc419217 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordMapper.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.riskcenter.biz.loancustomerrecord; + +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.loancustomerrecord.LoanCustomerRecord; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordDetailsVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; +import java.util.Map; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/7/6 + **/ +@Mapper +public interface LoanCustomerRecordMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + LoanCustomerRecordDetailsVo detail(String sid); + + @Update("update loan_customer_record set isDelete = 1 where sid =#{sid}") + int updateBySidDelete(String sid); + + int updateFlowFiled(Map map); + + IPage getCustomerRecordList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordMapper.xml new file mode 100644 index 0000000000..ac9f047c7c --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordMapper.xml @@ -0,0 +1,74 @@ + + + + + UPDATE loan_customer_record + 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/loancustomerrecord/LoanCustomerRecordRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordRest.java new file mode 100644 index 0000000000..3a6dafefed --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordRest.java @@ -0,0 +1,127 @@ +package com.yxt.anrui.riskcenter.biz.loancustomerrecord; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorApplyVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.*; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordQuery; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.*; +import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecordApply; +import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; +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; + + +@Api(tags = "欠款客户备案") +@RestController +@RequestMapping("v1/loancustomerrecord") +public class LoanCustomerRecordRest implements LoanCustomerRecordFeign { + + @Autowired + private LoanCustomerRecordService loanCustomerRecordService; + + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = loanCustomerRecordService.listPage(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean detail(String sid) { + return loanCustomerRecordService.detail(sid); + } + + @Override + public ResultBean saveRecord(LoanCustomerRecordDto dto) { + return loanCustomerRecordService.saveRecord(dto); + } + + @Override + public ResultBean> selectInvoingByOrgPath(String orgPath) { + return loanCustomerRecordService.selectInvoingByOrgPath(orgPath); + } + + @Override + public ResultBean deleteBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + for (String sid : sids) { + LoanCustomerRecord loanCustomerRecord = loanCustomerRecordService.fetchBySid(sid); + if (null != loanCustomerRecord) { + if (!loanCustomerRecord.getNodeState().equals("待提交")) { + return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败"); + } + } + int count = loanCustomerRecordService.updateBySidDelete(sid); + if (count == 0) { + return rb.setMsg("删除失败"); + } + } + return ResultBean.fireSuccess().setMsg("删除成功"); + } + + @Override + public ResultBean submitRecordApplication(SubmitCustomerRecordDto dto) { + return loanCustomerRecordService.submitRecordApplication(dto); + } + + @Override + public ResultBean complete(CustomerRecordCompleteDto dto) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(dto, bv); + bv.setModelId(ProcDefEnum.LOANCUSTOMERRECORD.getProDefId()); + return loanCustomerRecordService.complete(bv); + } + + @Override + public ResultBean revokeProcess(CustomerRecordTaskQuery query) { + return loanCustomerRecordService.revokeProcess(query); + } + + @Override + public ResultBean taskReject(CustomerRecordTaskQuery query) { + return loanCustomerRecordService.taskReject(query); + } + + @Override + public ResultBean breakProcess(CustomerRecordTaskQuery query) { + return loanCustomerRecordService.breakProcess(query); + } + + @Override + public ResultBean flowRecord(String procInsId) { + return loanCustomerRecordService.flowRecord(procInsId); + } + + @Override + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + return loanCustomerRecordService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { + return loanCustomerRecordService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean delegate(CustomerRecordDelegateQuery customerRecordDelegateQuery) { + return loanCustomerRecordService.delegate(customerRecordDelegateQuery); + } + + @Override + public ResultBean> getCustomerRecordList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = loanCustomerRecordService.getCustomerRecordList(pagerQuery); + return rb.success().setData(pv); + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordService.java new file mode 100644 index 0000000000..e66502eee9 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecord/LoanCustomerRecordService.java @@ -0,0 +1,935 @@ +package com.yxt.anrui.riskcenter.biz.loancustomerrecord; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +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.base.api.basedistributor.BaseDistributor; +import com.yxt.anrui.base.api.basedistributor.app.BaseDistributorsQuery; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorApplyVo; +import com.yxt.anrui.base.api.basedistributorappendix.BaseDistributorAppendix; +import com.yxt.anrui.base.api.basedistributorapply.BaseDistributorApply; +import com.yxt.anrui.base.api.basedistributorapply.flow.DistributorDelegateQuery; +import com.yxt.anrui.base.api.basedistributorapplyappendix.BaseDistributorApplyAppendixVo; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDto; +import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; +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.sysparameter.SysParameterEnum; +import com.yxt.anrui.portal.api.sysparameter.SysParameterFeign; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; + +import com.yxt.anrui.riskcenter.api.loancustomerrecord.*; + +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordQuery; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.*; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaff; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffDto; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffVo; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.biz.loancustomerrecordstaff.LoanCustomerRecordStaffService; +import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; +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 io.swagger.annotations.ApiModelProperty; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; + +/** + * @description: + * @author: fzz + * @date: 2023/7/6 + **/ +@Service +public class LoanCustomerRecordService extends MybatisBaseService { + + @Autowired + private SysUserFeign sysUserFeign; + + @Autowired + private LoanCustomerRecordStaffService loanCustomerRecordStaffService; + + @Autowired + private LoanFileService loanFileService; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private CrmCustomerTempFeign crmCustomerTempFeign; + @Autowired + private FinCompanyInvoicingFeign finCompanyInvoicingFeign; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private MessageFeign messageFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowFeign flowFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private SysParameterFeign sysParameterFeign; + + /** + * 分页列表 + * + * @param pq + * @return + */ + public PagerVo listPage(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + LoanCustomerRecordQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + //分公司 + if (StringUtils.isNotBlank(pagerQuery.getCompany())) { + qw.like("useOrgName", pagerQuery.getCompany()); + } + //申请部门 + if (StringUtils.isNotBlank(pagerQuery.getDept())) { + qw.like("dept", pagerQuery.getDept()); + } + //申请人 + if (StringUtils.isNotBlank(pagerQuery.getApplyName())) { + qw.like("applyName", pagerQuery.getApplyName()); + } + //销售专员 + if (StringUtils.isNotBlank(pagerQuery.getSalesman())) { + qw.like("salesman", pagerQuery.getSalesman()); + } + //客户 + if (StringUtils.isNotBlank(pagerQuery.getCustomer())) { + qw.like("customer", pagerQuery.getCustomer()); + } + //客户 + if (StringUtils.isNotBlank(pagerQuery.getCustomerTypeKey())) { + qw.eq("customerTypeKey", pagerQuery.getCustomerTypeKey()); + } + String applyStartTime = pagerQuery.getApplyStartDate(); + String applyEndTime = pagerQuery.getApplyEndDate(); + qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(applyEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')" + ); + String effStartTime = pagerQuery.getEffectiveStartDate(); + String effEndTime = pagerQuery.getEffectiveEndDate(); + qw.apply(StringUtils.isNotEmpty(effStartTime), "date_format (effectiveDate,'%Y-%m-%d') >= date_format('" + effStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(effEndTime), "date_format (effectiveDate,'%Y-%m-%d') <= date_format('" + effEndTime + "','%Y-%m-%d')" + ); + qw.eq("isDelete", 0); + qw.orderByDesc("createTime"); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean detail(String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanCustomerRecordDetailsVo vo = new LoanCustomerRecordDetailsVo(); + LoanCustomerRecord entity = fetchBySid(sid); + BeanUtil.copyProperties(entity, vo); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (null != entity.getApplyDate()) { + vo.setApplyDate(sdf.format(entity.getApplyDate())); + } + if (StringUtils.isNotBlank(entity.getCreateBySid())) { + vo.setUserSid(entity.getCreateBySid()); + } + if (StringUtils.isNotBlank(entity.getOrgSidPath())) { + vo.setOrgPath(entity.getOrgSidPath()); + } + if (StringUtils.isNotBlank(entity.getProcInstId())) { + vo.setInstanceId(entity.getProcInstId()); + } + //查询客户基本信息 + if (StringUtils.isNotBlank(entity.getCustomerSid())) { + String customerSid = entity.getCustomerSid(); + CrmCustomerTempVo customerTempVo = crmCustomerTempFeign.fetchSid(customerSid).getData(); + if (null != customerTempVo) { + if (StringUtils.isNotBlank(customerTempVo.getMobile())) { + vo.setClientPhone(customerTempVo.getMobile()); + } + if (StringUtils.isNotBlank(customerTempVo.getIDNumber())) { + vo.setClientNo(customerTempVo.getIDNumber()); + } + if (StringUtils.isNotBlank(customerTempVo.getCertificateType())) { + vo.setDocuments(customerTempVo.getCertificateType()); + } + if (StringUtils.isNotBlank(customerTempVo.getEndDate())) { + vo.setDocumentsDate(customerTempVo.getEndDate()); + } + if (StringUtils.isNotBlank(customerTempVo.getAddress())) { + vo.setClientAddress(customerTempVo.getAddress()); + } + } + } + //查询企业人员信息 + List staffVos = loanCustomerRecordStaffService.getStaffsByMainSid(sid).getData(); + staffVos.removeAll(Collections.singleton(null)); + if (!staffVos.isEmpty()) { + vo.setStaffs(staffVos); + } + //信息查询授权书 + List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.INFO_LETTER.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List infoLetter = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). + collect(Collectors.toList()); + vo.setInfoLetter(infoLetter); + } + //车队挂靠协议 + fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.AGREEMENT.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List agreement = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); + vo.setAgreement(agreement); + } + //营业执照 + fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.LICENSE.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List license = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); + vo.setLicense(license); + } + //法人和实际控制人身份证 + fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.ID_CARD.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List idCard = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); + vo.setIdCard(idCard); + } + //其他资料 + fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.OTHER_INFO.getAttachType()); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + List otherInfo = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList()); + vo.setOtherInfo(otherInfo); + } + return rb.success().setData(vo); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveRecord(LoanCustomerRecordDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; +// 企业开票人员信息 + List staffs = dto.getStaffs(); +// 营业执照 + List license = dto.getLicense(); +// 法人和实际控制人身份证 + List idCard = dto.getIdCard(); +// 信息查询授权书 + List infoLetter = dto.getInfoLetter(); +// 车队挂靠协议 + List agreement = dto.getAgreement(); +// 其他资料 + List otherInfo = dto.getOtherInfo(); + if (StringUtils.isNotBlank(dto.getCustomerTypeKey())) { + if (dto.getCustomerTypeKey().equals("1")) { + dto.setStaffs(new ArrayList<>()); + } else if (dto.getCustomerTypeKey().equals("2")) { + dto.setBusinessName(""); + dto.setPhone(""); + dto.setTaxpayerNo(""); + dto.setAddress(""); + dto.setLeader(""); + dto.setLegal(""); + } + } + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + LoanCustomerRecord loanCustomerRecord = fetchBySid(sid); + BeanUtil.copyProperties(dto, loanCustomerRecord, "id", "sid"); + baseMapper.updateById(loanCustomerRecord); + } else { + LoanCustomerRecord loanCustomerRecord = new LoanCustomerRecord(); + sid = loanCustomerRecord.getSid(); + BeanUtil.copyProperties(dto, loanCustomerRecord, "id", "sid"); + loanCustomerRecord.setOrgSidPath(dto.getOrgPath()); + loanCustomerRecord.setCreateBySid(dto.getUserSid()); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()); + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + loanCustomerRecord.setUseOrgSid(userOrgSid); + ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); + if (organizationVo.getSuccess()) { + SysOrganizationVo organizationVoData = organizationVo.getData(); + if (null != organizationVoData) { + loanCustomerRecord.setUseOrgName(organizationVoData.getName()); + } + } + } + loanCustomerRecord.setNodeState("待提交"); + baseMapper.insert(loanCustomerRecord); + } + if (StringUtils.isNotBlank(sid)) { + loanCustomerRecordStaffService.deleteByMainSid(sid); + if (!staffs.isEmpty()) { + for (LoanCustomerRecordStaffDto staffDto : staffs) { + LoanCustomerRecordStaff staff = new LoanCustomerRecordStaff(); + BeanUtil.copyProperties(staffDto, staff, "id", "sid"); + staff.setCustomerRecordSid(sid); + loanCustomerRecordStaffService.insert(staff); + } + } + //删除附件表中关于该linkSid的文件 + loanFileService.deleteByLinkSid(sid); + if (!license.isEmpty()) { + loanFileService.saveAll(sid, license, LoanFileEnum.LICENSE.getAttachType()); + } + if (!idCard.isEmpty()) { + loanFileService.saveAll(sid, idCard, LoanFileEnum.ID_CARD.getAttachType()); + } + if (!infoLetter.isEmpty()) { + loanFileService.saveAll(sid, infoLetter, LoanFileEnum.INFO_LETTER.getAttachType()); + } + if (!agreement.isEmpty()) { + loanFileService.saveAll(sid, agreement, LoanFileEnum.AGREEMENT.getAttachType()); + } + if (!otherInfo.isEmpty()) { + loanFileService.saveAll(sid, otherInfo, LoanFileEnum.OTHER_INFO.getAttachType()); + } + } + return rb.success().setData(sid); + } + + public ResultBean> selectInvoingByOrgPath(String orgPath) { + ResultBean> rb = ResultBean.fireFail(); + List voList = new ArrayList<>(); + List data = finCompanyInvoicingFeign.selectInvoingByOrgPath(orgPath).getData(); + if (!data.isEmpty()) { + for (FinCompanyInvoicingDetailsVo datum : data) { + LoanFinCompanyInvoicingVo vo = new LoanFinCompanyInvoicingVo(); + if (StringUtils.isNotBlank(datum.getPhone())) { + vo.setPhone(datum.getPhone()); + } + if (StringUtils.isNotBlank(datum.getAddress())) { + vo.setAddress(datum.getAddress()); + } + if (StringUtils.isNotBlank(datum.getName())) { + vo.setBusinessName(datum.getName()); + } + if (StringUtils.isNotBlank(datum.getTaxpayerNo())) { + vo.setTaxpayerNo(datum.getTaxpayerNo()); + } + voList.add(vo); + } + } + return rb.success().setData(voList); + } + + public int updateBySidDelete(String sid) { + return baseMapper.updateBySidDelete(sid); + } + + //-------------------------------------流程------------------------------------------------/ + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitCustomerRecordDto dto, LoanCustomerRecord loanCustomerRecord) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (loanCustomerRecord != null) { + String businessTaskId = loanCustomerRecord.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; + } + + /** + * 更新流程相关的状态 + * + * @param map + * @return + */ + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean submitRecordApplication(SubmitCustomerRecordDto dto) { + ResultBean rb = ResultBean.fireFail(); + LoanCustomerRecord loanCustomerRecord = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, loanCustomerRecord); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + String businessSid = ""; + //新增修改保存 + ResultBean resultBean = saveRecord(dto); + if (resultBean.getSuccess()) { + businessSid = resultBean.getData(); + } + LoanCustomerRecord entity = fetchBySid(businessSid); + String orgSidPath = ""; + if (StringUtils.isNotBlank(entity.getOrgSidPath())) { + orgSidPath = entity.getOrgSidPath(); + } else { + SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); + if (null != data) { + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + } + } + List orgPathList = Arrays.asList(orgSidPath.split("/")); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); + if (sysOrganization == null) { + return rb.setMsg("当前所在的组织机构不存在"); + } + if (StringUtils.isBlank(sysOrganization.getManagerSid())) { +// return rb.setMsg("当前所在的组织机构未设置主管人员"); + sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); + } + //创建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); + LoanCustomerRecord loanCustomerRecord1 = fetchBySid(businessSid); + String msgBusinessSid = loanCustomerRecord1.getSid(); + //用户的部门全路径sid + bv.setOrgSidPath(loanCustomerRecord1.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(dto.getUserSid()); + bv.setFormVariables(variables); + String nextNodeUserSids_ = sysOrganization.getManagerSid(); + bv.setNextNodeUserSids(nextNodeUserSids_); + //流程定义id + bv.setModelId(ProcDefEnum.LOANCUSTOMERRECORD.getProDefId()); + if (r == 1) { + //流程定义id + bv.setModelId(ProcDefEnum.LOANCUSTOMERRECORD.getProDefId()); + ResultBean voResultBean = flowFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //==================================添加线程 + 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(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(msgBusinessSid); + messageFlowableQuery.setModuleName("欠款客户备案"); + SysUserVo userVo = sysUserFeign.fetchBySid(loanCustomerRecord1.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"); + } + LoanCustomerRecord loanCustomerRecord2 = fetchBySid(dto.getSid()); + bv.setTaskId(dto.getTaskId()); + bv.setTaskDefKey(loanCustomerRecord2.getNodeSid()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + LoanCustomerRecord loanCustomerRecord = this.fetchBySid(businessSid); + if (bv.getTaskId().equals(loanCustomerRecord.getTaskId())) { + bv.setOrgSidPath(loanCustomerRecord.getOrgSidPath()); + //流程中的参数赋值 + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + //若有网关,则赋值网关中判断的字段。 + + variables.put("businessSid", businessSid); + appMap.put("sid", businessSid); + variables.put("app", appMap); + bv.setFormVariables(variables); + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + LoanCustomerRecord entity = this.fetchBySid(businessSid); + //更新有效期 + //----系统参数中获取有效期------ + String qkkhba = sysParameterFeign.fetchByParNo(SysParameterEnum.QKKHBAYXQ.getParameterValue()).getData(); + String effectiveDate = ""; + if (StringUtils.isNotBlank(qkkhba)) { + Date dateByDay = getDateByDay(new Date(), Integer.valueOf(qkkhba)); + effectiveDate = DateUtil.format(dateByDay, "yyyy-MM-dd"); + entity.setEffectiveDate(effectiveDate); + baseMapper.updateById(entity); + } + //判断是企业还是个人之后判断是否生成企业开票信息。 + if (StringUtils.isNotBlank(entity.getCustomerTypeKey())) { + FinCompanyInvoicingDto invoicingDto = new FinCompanyInvoicingDto(); + //1个人 2企业 + if (entity.getCustomerTypeKey().equals("1")) { + if (StringUtils.isNotBlank(entity.getIsAnchored())) { + if (entity.getIsAnchored().equals("1")) { + String taxpayerNo = ""; + String name = ""; + String address = ""; + String phone = ""; + String invoicingSid = ""; + if (StringUtils.isNotBlank(entity.getTaxpayerNo())) { + taxpayerNo = entity.getTaxpayerNo(); + FinCompanyInvoicingDetailsVo data = finCompanyInvoicingFeign.selectInvoingByTaxpayerNo(taxpayerNo).getData(); + if (null != data) { + invoicingSid = data.getSid(); + } + } + if (StringUtils.isNotBlank(entity.getBusinessName())) { + name = entity.getBusinessName(); + } + if (StringUtils.isNotBlank(entity.getAddress())) { + address = entity.getAddress(); + } + if (StringUtils.isNotBlank(entity.getPhone())) { + phone = entity.getPhone(); + } + if (StringUtils.isNotBlank(invoicingSid)) { + invoicingDto.setSid(invoicingSid); + } else { + invoicingDto.setOrgSidPath(entity.getOrgSidPath()); + invoicingDto.setCreateBySid(entity.getCreateBySid()); + } + invoicingDto.setName(name); + invoicingDto.setAddress(address); + invoicingDto.setPhone(phone); + invoicingDto.setTaxpayerNo(taxpayerNo); + invoicingDto.setEffectiveDate(effectiveDate); + finCompanyInvoicingFeign.qySaveOrUpdate(invoicingDto); + } + } + } else if (entity.getCustomerTypeKey().equals("2")) { + if (StringUtils.isNotBlank(entity.getCustomerSid())) { + CrmCustomerTempVo customerTempVo = crmCustomerTempFeign.fetchSid(entity.getCustomerSid()).getData(); + if (null != customerTempVo) { + String taxpayerNo = ""; + String name = ""; + String address = ""; + String phone = ""; + String invoicingSid = ""; + if (StringUtils.isNotBlank(customerTempVo.getIDNumber())) { + taxpayerNo = customerTempVo.getIDNumber(); + FinCompanyInvoicingDetailsVo data = finCompanyInvoicingFeign.selectInvoingByTaxpayerNo(taxpayerNo).getData(); + if (null != data) { + invoicingSid = data.getSid(); + } + } + if (StringUtils.isNotBlank(customerTempVo.getName())) { + name = customerTempVo.getName(); + } + if (StringUtils.isNotBlank(customerTempVo.getAddress())) { + address = customerTempVo.getAddress(); + } + if (StringUtils.isNotBlank(customerTempVo.getMobile())) { + phone = customerTempVo.getMobile(); + } + if (StringUtils.isNotBlank(invoicingSid)) { + invoicingDto.setSid(invoicingSid); + } else { + invoicingDto.setOrgSidPath(entity.getOrgSidPath()); + invoicingDto.setCreateBySid(entity.getCreateBySid()); + } + invoicingDto.setName(name); + invoicingDto.setAddress(address); + invoicingDto.setPhone(phone); + invoicingDto.setTaxpayerNo(taxpayerNo); + invoicingDto.setEffectiveDate(effectiveDate); + finCompanyInvoicingFeign.qySaveOrUpdate(invoicingDto); + } + } + } + } + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + //----------时间算法------------- + public static Date getDateByDay(Date sDate, int num) { + Calendar cal = Calendar.getInstance(); + // 设置开始时间 + cal.setTime(sDate); + //增加或减少num天 + cal.add(Calendar.DATE, num); + //cal.add(Calendar.DATE, -10);//减10天 + //cal.add(Calendar.DATE, 2);//加2天 + return cal.getTime(); + } + + public ResultBean revokeProcess(CustomerRecordTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + LoanCustomerRecord loanCustomerRecord = fetchBySid(query.getBusinessSid()); + String businessTaskId = loanCustomerRecord.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(CustomerRecordTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + LoanCustomerRecord loanCustomerRecord = fetchBySid(businessSid); + if (loanCustomerRecord == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = loanCustomerRecord.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (org.apache.commons.lang3.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); + //极光推送 + loanCustomerRecord = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = loanCustomerRecord.getProcInstId(); + messageFlowVo.setProcInsId(procId); + messageFlowVo.setProcDefId(loanCustomerRecord.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(loanCustomerRecord.getCreateBySid()).getData(); + if (userVo != null) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(userVo.getName())) { + messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + } + } + messageFlowableQuery.setMsgTitle("欠款客户备案"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean breakProcess(CustomerRecordTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (org.apache.commons.lang3.StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (org.apache.commons.lang3.StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (org.apache.commons.lang3.StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + LoanCustomerRecord loanCustomerRecord = fetchBySid(query.getBusinessSid()); + String businessTaskId = loanCustomerRecord.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(loanCustomerRecord.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean flowRecord(String procInsId) { + return flowTaskFeign.businessFlowRecord(procInsId); + } + + public ResultBean> getNextNodesForSubmit(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //根据业务sid查询排产信息 + LoanCustomerRecord loanCustomerRecord = fetchBySid(query.getBusinessSid()); + bv.setFormVariables(variables); + bv.setModelId(loanCustomerRecord.getProcDefId()); + 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()); + return rb.success().setData(voList); + } + + public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //根据业务sid查询排产信息 + LoanCustomerRecord loanCustomerRecord = fetchBySid(query.getBusinessSid()); + bv.setFormVariables(variables); + bv.setModelId(loanCustomerRecord.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(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()); + return rb.success().setData(voList); + } + + public ResultBean delegate(CustomerRecordDelegateQuery customerRecordDelegateQuery) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(customerRecordDelegateQuery, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + public PagerVo getCustomerRecordList(PagerQuery pq) { + IPage page = PagerUtil.queryToPage(pq); + AppCustomerRecordQuery pagerQuery = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //======================= + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); + privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); + // privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); + privilegeQuery.setUserSid(pagerQuery.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = pagerQuery.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", pagerQuery.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + //======================= + if (StringUtils.isNotBlank(pagerQuery.getName())) { + // qw.and(wrapper -> wrapper.like("contractId", query.getName()).or().like("customerName", query.getName())); + qw.like("customer", pagerQuery.getName()); + } + qw.eq("isDelete", 0); + qw.orderByDesc("createTime"); + IPage pagging = baseMapper.getCustomerRecordList(page, qw); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (AppCustomerRecordVo record : records) { + record.setUpdateBtn(false); + record.setDeleteBtn(false); + if (StringUtils.isNotBlank(record.getApplyName()) && StringUtils.isNotBlank(record.getDept())) { + record.setPublishInfo(record.getDept() + "-" + record.getApplyName()); + } + if (StringUtils.isNotBlank(record.getState())) { + if (record.getState().equals("待提交")) { + record.setUpdateBtn(true); + record.setDeleteBtn(true); + } + } + + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffMapper.java new file mode 100644 index 0000000000..7b48f9cb98 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffMapper.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.riskcenter.biz.loancustomerrecordstaff; + +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.loancustomerrecord.LoanCustomerRecord; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaff; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/7/6 + **/ +@Mapper +public interface LoanCustomerRecordStaffMapper extends BaseMapper { + + int deleteByMainSid(String customerRecordSid); + + List getStaffsByMainSid(String customerRecordSid); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffMapper.xml new file mode 100644 index 0000000000..8444acaa07 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffMapper.xml @@ -0,0 +1,16 @@ + + + + + + DELETE + FROM loan_customer_record_staff + WHERE customerRecordSid = #{customerRecordSid} + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffRest.java new file mode 100644 index 0000000000..6ec3c719e0 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffRest.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.riskcenter.biz.loancustomerrecordstaff; + +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffDto; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffFeign; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffVo; +import com.yxt.common.core.result.ResultBean; +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; + + +@Api(tags = "欠款客户备案企业人员信息") +@RestController +@RequestMapping("v1/loancustomerrecordstaff") +public class LoanCustomerRecordStaffRest implements LoanCustomerRecordStaffFeign { + + @Autowired + private LoanCustomerRecordStaffService loanCustomerRecordStaffService; + + @Override + public ResultBean saveStaff(LoanCustomerRecordStaffDto dto) { + return loanCustomerRecordStaffService.saveStaff(dto); + } + + @Override + public ResultBean deleteByMainSid(String customerRecordSid) { + return loanCustomerRecordStaffService.deleteByMainSid(customerRecordSid); + } + + @Override + public ResultBean> getStaffsByMainSid(String customerRecordSid) { + return loanCustomerRecordStaffService.getStaffsByMainSid(customerRecordSid); + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffService.java new file mode 100644 index 0000000000..b881f5bf6a --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancustomerrecordstaff/LoanCustomerRecordStaffService.java @@ -0,0 +1,54 @@ +package com.yxt.anrui.riskcenter.biz.loancustomerrecordstaff; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecord; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordQuery; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaff; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffDto; +import com.yxt.anrui.riskcenter.api.loancustomerrecordstaff.LoanCustomerRecordStaffVo; +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 org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @description: + * @author: fzz + * @date: 2023/7/6 + **/ +@Service +public class LoanCustomerRecordStaffService extends MybatisBaseService { + + + public ResultBean saveStaff(LoanCustomerRecordStaffDto dto) { + ResultBean rb = ResultBean.fireFail(); + LoanCustomerRecordStaff loanCustomerRecordStaff = new LoanCustomerRecordStaff(); + BeanUtil.copyProperties(dto, loanCustomerRecordStaff, "id", "sid"); + baseMapper.insert(loanCustomerRecordStaff); + return rb.success(); + } + + + public ResultBean deleteByMainSid(String customerRecordSid) { + ResultBean rb = ResultBean.fireFail(); + int i = baseMapper.deleteByMainSid(customerRecordSid); + return rb.success(); + } + + public ResultBean> getStaffsByMainSid(String customerRecordSid) { + ResultBean> rb = ResultBean.fireFail(); + List voList = baseMapper.getStaffsByMainSid(customerRecordSid); + return rb.success().setData(voList); + } +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordFeign.java new file mode 100644 index 0000000000..9acdf4b0c6 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordFeign.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.terminal.api.risk.loancustomerrecord; + + +import com.yxt.anrui.terminal.api.autoservice.distributor.DistributorQuery; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorApplyVo; +import com.yxt.anrui.terminal.api.risk.loantemplate.TemplateFeignFallback; +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 org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @description: + * @author: fzz + * @date: 2023/8/8 + **/ +@Api(tags = "欠款客户备案") +@FeignClient( + contextId = "terminal-LoanCustomerRecord", + name = "anrui-terminal", + path = "/risk/v1/CustomerRecord", + fallback = CustomerRecordFeignFallback.class) +public interface CustomerRecordFeign { + + @ApiOperation("移动端-欠款客户备案分页列表") + @PostMapping("/getCustomerRecordList") + @ResponseBody + ResultBean> getCustomerRecordList(@RequestBody PagerQuery pagerQuery); + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordFeignFallback.java new file mode 100644 index 0000000000..2243820eda --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordFeignFallback.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.terminal.api.risk.loancustomerrecord; + +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; + +/** + * @description: + * @author: fzz + * @date: + **/ +@Component +public class CustomerRecordFeignFallback implements CustomerRecordFeign { + @Override + public ResultBean> getCustomerRecordList(PagerQuery pagerQuery) { + return null; + } +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordQuery.java new file mode 100644 index 0000000000..75227b7edd --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.terminal.api.risk.loancustomerrecord; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/10/12 15:51 + */ +@Data +public class CustomerRecordQuery implements Query { + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "名称") + private String name; + @ApiModelProperty("机构sid") + private String orgPath; + private String menuSid; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordVo.java new file mode 100644 index 0000000000..dff3e8c47e --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loancustomerrecord/CustomerRecordVo.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.terminal.api.risk.loancustomerrecord; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/10/12 15:49 + */ +@Data +public class CustomerRecordVo implements Vo { + /** + * 申请日期 + */ + private String applyDate; + /** + * 申请人 + */ + private String applyName; + /** + * 分公司 + */ + private String company; + /** + * 申请部门 + */ + private String dept; + /** + * 客户名称 + */ + private String customer; + /** + * 有效期至 + */ + private String effectiveDate; + /** + * 销售专员 + */ + private String salesman; + /** + * 备案记录sid + */ + private String sid; + /** + * 流程状态 + */ + private String state; + + @ApiModelProperty("某某部门,某某人") + private String publishInfo; + private boolean updateBtn; + private boolean deleteBtn; + +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loancustomerrecord/CustomerRecordRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loancustomerrecord/CustomerRecordRest.java new file mode 100644 index 0000000000..fd32b33cbf --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loancustomerrecord/CustomerRecordRest.java @@ -0,0 +1,30 @@ +package com.yxt.anrui.terminal.biz.risk.loancustomerrecord; + + +import com.yxt.anrui.terminal.api.risk.loancustomerrecord.CustomerRecordFeign; +import com.yxt.anrui.terminal.api.risk.loancustomerrecord.CustomerRecordQuery; +import com.yxt.anrui.terminal.api.risk.loancustomerrecord.CustomerRecordVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * @description: + * @author: fzz + * @date: + **/ +@Controller +@RequestMapping("/risk/v1/CustomerRecord") +public class CustomerRecordRest implements CustomerRecordFeign { + + @Autowired + private CustomerRecordService customerRecordService; + + @Override + public ResultBean> getCustomerRecordList(PagerQuery pagerQuery) { + return customerRecordService.getCustomerRecordList(pagerQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loancustomerrecord/CustomerRecordService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loancustomerrecord/CustomerRecordService.java new file mode 100644 index 0000000000..a3c57136ad --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loancustomerrecord/CustomerRecordService.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.terminal.biz.risk.loancustomerrecord; + + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basedistributor.app.BaseDistributorsQuery; +import com.yxt.anrui.base.api.basedistributor.app.apply.AppDistributorApplyVo; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordFeign; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordQuery; +import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordVo; +import com.yxt.anrui.terminal.api.autoservice.distributor.apply.DistributorApplyVo; +import com.yxt.anrui.terminal.api.risk.loancustomerrecord.CustomerRecordQuery; +import com.yxt.anrui.terminal.api.risk.loancustomerrecord.CustomerRecordVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; + +/** + * @description: + * @author: fzz + * @date: + **/ +@Service +public class CustomerRecordService { + + @Autowired + private LoanCustomerRecordFeign loanCustomerRecordFeign; + + public ResultBean> getCustomerRecordList(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pagerVo = new PagerVo<>(); + PagerQuery appCustomerRecordQuery = new PagerQuery<>(); + BeanUtil.copyProperties(pagerQuery, appCustomerRecordQuery); + ResultBean> pagerVoResultBean = loanCustomerRecordFeign.getCustomerRecordList(appCustomerRecordQuery); + if (pagerVoResultBean.getSuccess()) { + BeanUtil.copyProperties(pagerVoResultBean.getData(), pagerVo); + } + return rb.success().setData(pagerVo); + } +}