From 2b25fcc93804656bf51d33362557521aa6f136e7 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Thu, 6 Jul 2023 18:04:30 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E8=9E=8D=E4=BA=A7=E5=93=81=E6=94=BF?= =?UTF-8?q?=E7=AD=96=E6=8A=A5=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanFinPolicyApplyDto.java | 53 +++++ .../LoanFinPolicyApplyInitListVo.java | 47 ++++ .../LoanFinPolicyApplyInitVo.java | 41 ++++ .../LoanFinPolicyApplyQuery.java | 38 +++ .../LoanFinPolicyApplyVo.java | 44 ++++ .../LoanFinPolicyRecordApply.java | 60 +++++ .../LoanFinPolicyRecordApplyFeign.java | 76 ++++++ ...LoanFinPolicyRecordApplyFeignFallback.java | 34 +++ .../LoanFinPolicyRecordApplyMapper.java | 20 ++ .../LoanFinPolicyRecordApplyMapper.xml | 19 ++ .../LoanFinPolicyRecordApplyRest.java | 58 +++++ .../LoanFinPolicyRecordApplyService.java | 216 ++++++++++++++++++ 12 files changed, 706 insertions(+) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApply.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyService.java diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java new file mode 100644 index 0000000000..86a561c467 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyDto.java @@ -0,0 +1,53 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +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 LoanFinPolicyApplyDto implements Dto { + private String sid; + private String userSid; + @ApiModelProperty("申请分公司") + private String applyCompany; + @ApiModelProperty("申请部门") + private String department; + @ApiModelProperty("申请人sid") + private String applicantSid; + @ApiModelProperty("申请人") + private String applicant; + @ApiModelProperty("申请日期") + private Date applyDate; + @ApiModelProperty("申请金融产品政策sid") + private List policySids = new ArrayList<>(); + @ApiModelProperty("附件路径") + private List annexPaths = new ArrayList<>(); + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("创建组织名") + private String createOrgName; + @ApiModelProperty("使用组织全路径") + private String orgSidPath; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java new file mode 100644 index 0000000000..eacb4c6215 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitListVo.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author Administrator + * @description + * @date 2023/7/6 15:49 + */ +@Data +public class LoanFinPolicyApplyInitListVo implements Vo { + + @ApiModelProperty("政策sid") + private String policySid; + @ApiModelProperty("政策名称") + private String policyName; + @ApiModelProperty("车辆功能value") + private String vehTypeValue; + @ApiModelProperty("期数") + private int period; + @ApiModelProperty("标准年利率(%)") + private String yearRatio; + @ApiModelProperty("服务费类型value") + private String serviceAmountTypeValue; + @ApiModelProperty("服务费") + private String serviceAmount; + @ApiModelProperty("最低首付比例(%)") + private String downPayRatioLeast; + @ApiModelProperty("单车意外险") + private String vehAccidentAmount; + @ApiModelProperty("保险保证金") + private String depositPremium; + @ApiModelProperty("落户保证金") + private BigDecimal depositSettle; + @ApiModelProperty("名义/留购价款") + private BigDecimal nominalPrice; + @ApiModelProperty("有效期至") + private String validDateTo; + @ApiModelProperty("是否有其他融政策") + private boolean isOtherPolicy; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java new file mode 100644 index 0000000000..ce5a30e64f --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyInitVo.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * @author Administrator + * @description + * @date 2023/7/6 15:38 + */ +@Data +public class LoanFinPolicyApplyInitVo implements Vo { + private String sid; + private String userSid; + @ApiModelProperty("申请分公司") + private String applyCompany; + @ApiModelProperty("申请部门") + private String department; + @ApiModelProperty("申请人") + private String applicant; + @ApiModelProperty("申请日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date applyDate; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("实例id") + private String procInstId; + @ApiModelProperty("申请金融产品政策sid") + private List policySids = new ArrayList<>(); + @ApiModelProperty("附件路径") + private List annexPaths = new ArrayList<>(); + @ApiModelProperty("使用组织全路径") + private String orgSidPath; + private List policyList = new ArrayList<>(); +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyQuery.java new file mode 100644 index 0000000000..a1fcc16c69 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyQuery.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply; + + +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 LoanFinPolicyApplyQuery implements Query { + + @ApiModelProperty("分公司") + private String applyCompany; + @ApiModelProperty("申请部门") + private String department; + @ApiModelProperty("申请人") + private String applicant; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("开始日期") + private String createStartTime; + @ApiModelProperty("结束日期") + private String createEndTime; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyVo.java new file mode 100644 index 0000000000..d7274e8282 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyApplyVo.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.annotation.JsonProperty; +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 LoanFinPolicyApplyVo implements Vo { + private String sid; + @ApiModelProperty("申请分公司") + private String applyCompany; + @ApiModelProperty("申请部门") + private String department; + @ApiModelProperty("申请人") + private String applicant; + @ApiModelProperty("申请日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date applyDate; + @ApiModelProperty("流程状态") + private String nodeState; + @ApiModelProperty("备注") + private String remarks; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApply.java new file mode 100644 index 0000000000..01358652db --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApply.java @@ -0,0 +1,60 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * File: BaseFinBank.java
+ * Class: com.yxt.anrui.base.api.basefinbank.BaseFinBank
+ * Description: 金融产品政策报备.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-09-10 11:31:46
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "金融产品政策报备", description = "金融产品政策报备") +@TableName("loan_fin_policy_record_apply") +@Data +public class LoanFinPolicyRecordApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请分公司") + private String applyCompany; + @ApiModelProperty("申请部门") + private String department; + @ApiModelProperty("申请人sid") + private String applicantSid; + @ApiModelProperty("申请人") + private String applicant; + @ApiModelProperty("申请日期") + private Date applyDate; + @ApiModelProperty("申请金融产品政策sid") + private String policySid; + @ApiModelProperty("附件路径") + private String annexPath; + @ApiModelProperty("流程定义的id") + private String procDefId; + @ApiModelProperty("环节定义的sid") + private String nodeSid; + @ApiModelProperty("流程实例的id") + private String procInstId; + @ApiModelProperty("流程状态") + private String nodeState; + @ApiModelProperty("任务id") + private String taskId; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("创建组织名") + private String createOrgName; + @ApiModelProperty("使用组织全路径") + private String orgSidPath; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java new file mode 100644 index 0000000000..cddd9bd36f --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeign.java @@ -0,0 +1,76 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply; + +import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankInitVo; +import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankQuery; +import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo; +import com.yxt.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 javax.validation.Valid; + +/** + * 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-LoanFinPolicyRecordApply", + name = "anrui-riskcenter", + path = "v1/loanfinpolicyrecordapply", + fallback = LoanFinPolicyRecordApplyFeignFallback.class) +public interface LoanFinPolicyRecordApplyFeign { + + /** + * 新增 + * + * @param dto + */ + @ApiOperation("新增修改") + @PostMapping("/saveOrUpdate") + public ResultBean save(@Valid @RequestBody LoanFinPolicyApplyDto dto); + + /** + * 根据条件分页查询数据的列表(已测试) + * + * @param pq + */ + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + + /** + * 金融产品政策报备初始化 + * + * @param dto + */ + @ApiOperation("金融产品政策报备保存初始化") + @GetMapping("/policyRecordInit") + @ResponseBody + public ResultBean policyRecordInit(@RequestBody LoanFinPolicyApplyDto dto); + + /** + * 金融产品政策报备初始化 + * + * @param sid + */ + @ApiOperation("金融产品政策报备编辑初始化") + @GetMapping("/fetchDetailsBySid/{sid}") + @ResponseBody + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java new file mode 100644 index 0000000000..544b4883d4 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyFeignFallback.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply; + + +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; + + + +@Component +public class LoanFinPolicyRecordApplyFeignFallback implements LoanFinPolicyRecordApplyFeign { + + + @Override + public ResultBean save(LoanFinPolicyApplyDto dto) { + return null; + } + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean policyRecordInit(LoanFinPolicyApplyDto dto) { + return null; + } + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return null; + } +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java new file mode 100644 index 0000000000..eec44da5bf --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.riskcenter.biz.loanfinpolicyrecordapply; + +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.loanfinpolicyrecordapply.LoanFinPolicyApplyVo; +import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecordApply; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/7/6 + **/ +@Mapper +public interface LoanFinPolicyRecordApplyMapper extends BaseMapper { + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml new file mode 100644 index 0000000000..66241f0f17 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyMapper.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyRest.java new file mode 100644 index 0000000000..15397844c9 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyRest.java @@ -0,0 +1,58 @@ +package com.yxt.anrui.riskcenter.biz.loanfinpolicyrecordapply; + +import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo; +import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.*; +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; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/7/6 + **/ +@Api(tags = "金融产品政策报备") +@RestController +@RequestMapping("v1/loanfinpolicyrecordapply") +public class LoanFinPolicyRecordApplyRest implements LoanFinPolicyRecordApplyFeign { + + @Autowired + private LoanFinPolicyRecordApplyService loanFinPolicyRecordApplyService; + + @Override + public ResultBean save(LoanFinPolicyApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + int i = loanFinPolicyRecordApplyService.saveOrUpdateRecord(dto); + if (i > 0) { + return rb.success().setMsg("操作成功"); + } + return rb.success().setMsg("操作失败"); + } + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = loanFinPolicyRecordApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean policyRecordInit(LoanFinPolicyApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + LoanFinPolicyApplyInitVo vo = loanFinPolicyRecordApplyService.policyRecordInit(dto); + return rb.success().setData(vo); + } + + @Override + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanFinPolicyApplyInitVo vo = loanFinPolicyRecordApplyService.fetchDetailsBySid(sid); + return rb.success().setData(vo); + } + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyService.java new file mode 100644 index 0000000000..721b1554a6 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicyrecordapply/LoanFinPolicyRecordApplyService.java @@ -0,0 +1,216 @@ +package com.yxt.anrui.riskcenter.biz.loanfinpolicyrecordapply; + +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.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBank; +import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankQuery; +import com.yxt.anrui.riskcenter.api.loanfinbank.LoanFinBankVo; +import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy; +import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy; +import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.*; +import com.yxt.anrui.riskcenter.biz.loanfinotherPolicy.LoanFinOtherPolicyService; +import com.yxt.anrui.riskcenter.biz.loanfinpolicy.LoanFinPolicyService; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/7/6 + **/ +@Service +public class LoanFinPolicyRecordApplyService extends MybatisBaseService { + + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private LoanFinPolicyService loanFinPolicyService; + @Autowired + private LoanFinOtherPolicyService loanFinOtherPolicyService; + + + /** + * 保存新增 + * + * @param dto + * @return + */ + public int saveOrUpdateRecord(LoanFinPolicyApplyDto dto) { + if (StringUtils.isNotBlank(dto.getSid())) { + String sid = dto.getSid(); + LoanFinPolicyRecordApply entity = fetchBySid(sid); + StringBuffer sb = new StringBuffer(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + List policySids = dto.getPolicySids(); + String policySid = String.join(",", policySids); + entity.setPolicySid(policySid); + if (!dto.getAnnexPaths().isEmpty()) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + for (String filePath : dto.getAnnexPaths()) { + String path = filePath.substring(urlPrefix.length()); + sb.append(path).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + entity.setAnnexPath(sb.toString()); + } + int i = baseMapper.updateById(entity); + return i; + } else { + //新增 + LoanFinPolicyRecordApply entity = new LoanFinPolicyRecordApply(); + StringBuffer sb = new StringBuffer(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + String userSid = dto.getUserSid(); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgSidPath()); + if (orgSidByPath.getSuccess()) { + String userOrgSid = orgSidByPath.getData(); + entity.setCreateOrgSid(userOrgSid); + ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); + if (organizationVo.getSuccess()) { + SysOrganizationVo organizationVoData = organizationVo.getData(); + if (null != organizationVoData) { + entity.setCreateOrgName(organizationVoData.getName()); + } + } + } + entity.setCreateBySid(userSid); + entity.setApplicantSid(userSid); + List policySids = dto.getPolicySids(); + String policySid = String.join(",", policySids); + entity.setPolicySid(policySid); + if (!dto.getAnnexPaths().isEmpty()) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + for (String filePath : dto.getAnnexPaths()) { + String path = filePath.substring(urlPrefix.length()); + sb.append(path).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + entity.setAnnexPath(sb.toString()); + } + entity.setNodeState("待提交"); + int i = baseMapper.insert(entity); + return i; + } + } + + private QueryWrapper createQueryWrapper(LoanFinPolicyApplyQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getApplyCompany())) { + qw.like("applyCompany", query.getApplyCompany()); + } + if (StringUtils.isNotBlank(query.getDepartment())) { + qw.like("department", query.getDepartment()); + } + if (StringUtils.isNotBlank(query.getApplicant())) { + qw.like("applicant", query.getApplicant()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createStartTime), "date_format (applyDate,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(org.apache.commons.lang3.StringUtils.isNotEmpty(createEndTime), "date_format (applyDate,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + qw.eq("createOrgSid", query.getCreateOrgSid()); + qw.eq("isDelete", 0); + qw.orderByDesc("createTime"); + return qw; + } + + /** + * 分页列表 + * + * @param pq + * @return + */ + public PagerVo listPageVo(PagerQuery pq) { + LoanFinPolicyApplyQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + /** + * 保存初始化 + * + * @param dto + * @return + */ + public LoanFinPolicyApplyInitVo policyRecordInit(LoanFinPolicyApplyDto dto) { + LoanFinPolicyApplyInitVo vo = new LoanFinPolicyApplyInitVo(); + BeanUtil.copyProperties(dto, vo); + vo.setApplyDate(new Date()); + List policyList = new ArrayList<>(); + List policySids = dto.getPolicySids(); + for (String policySid : policySids) { + LoanFinPolicyApplyInitListVo initVo = new LoanFinPolicyApplyInitListVo(); + LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(policySid); + BeanUtil.copyProperties(loanFinPolicy, initVo); + initVo.setPolicySid(policySid); + List otherPolicy = loanFinOtherPolicyService.getOtherPolicyByMainSid(policySid); + otherPolicy.removeAll(Collections.singleton(null)); + initVo.setOtherPolicy(!otherPolicy.isEmpty()); + policyList.add(initVo); + } + vo.setPolicyList(policyList); + return vo; + } + + public LoanFinPolicyApplyInitVo fetchDetailsBySid(String sid) { + LoanFinPolicyApplyInitVo vo = new LoanFinPolicyApplyInitVo(); + LoanFinPolicyRecordApply entity = fetchBySid(sid); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + BeanUtil.copyProperties(entity, vo); + String policySid = entity.getPolicySid(); + List pSids = new ArrayList<>(); + String[] policySids = policySid.split(","); + for (String s : policySids) { + pSids.add(s); + } + vo.setPolicySids(pSids); + List policyList = new ArrayList<>(); + for (String psid : policySids) { + LoanFinPolicyApplyInitListVo initVo = new LoanFinPolicyApplyInitListVo(); + LoanFinPolicy loanFinPolicy = loanFinPolicyService.fetchBySid(psid); + BeanUtil.copyProperties(loanFinPolicy, initVo); + initVo.setPolicySid(psid); + List otherPolicy = loanFinOtherPolicyService.getOtherPolicyByMainSid(policySid); + otherPolicy.removeAll(Collections.singleton(null)); + initVo.setOtherPolicy(!otherPolicy.isEmpty()); + policyList.add(initVo); + } + if (StringUtils.isNotBlank(entity.getAnnexPath())) { + String annexPath = entity.getAnnexPath(); + String[] splitPath = annexPath.split(","); + List annexPaths = new ArrayList<>(); + for (String path : splitPath) { + annexPaths.add(urlPrefix + path); + } + vo.setAnnexPaths(annexPaths); + } + vo.setPolicyList(policyList); + return vo; + } +}