Browse Source

移动端回购申请模块

zhanglei
fanzongzhe 1 year ago
parent
commit
dbac0862d4
  1. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
  2. 8
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApply.java
  3. 79
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDetailsVo.java
  4. 53
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFeign.java
  5. 54
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFeignFallback.java
  6. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFile.java
  7. 110
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/app/AppRepurchaseDetailsVo.java
  8. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseCompleteDto.java
  9. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseDelegateQuery.java
  10. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseGetNodeQuery.java
  11. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseGetNodeVo.java
  12. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseTaskQuery.java
  13. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/SubmitRepurchaseDto.java
  14. 54
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyRest.java
  15. 13
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java
  16. 112
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/RepurchaseDetailsVo.java
  17. 71
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/RepurchaseFeign.java
  18. 57
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/RepurchaseFeignFallback.java
  19. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/flow/AppRepurchaseDelegateQuery.java
  20. 46
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/flow/AppRepurchaseTaskQuery.java
  21. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/flow/CompleteRepurchaseDto.java
  22. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/flow/RepurchaseFlowableQuery.java
  23. 68
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/repurchase/RepurchaseRest.java
  24. 157
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/repurchase/RepurchaseService.java

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java

@ -43,6 +43,8 @@ public enum LoanFileEnum {
MORTGAGE_NOTICES("029", "解抵管理-解抵通知单"),
MORTGAGE_POROXY("030", "解抵管理-委托书"),
MORTGAGE_HANDOVER_INFO("031", "解抵管理-交接材料"),
REPURCHASE_BANKFILE("032", "回购申请-资方结清费用"),
REPURCHASE_BACKBUYFILE("033", "回购申请-回购情况"),
;

8
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApply.java

@ -34,6 +34,8 @@ public class LoanRepurchaseApply extends BaseEntity {
private String customerSid;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("贷款人sid")
private String loanSid;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("资方")
@ -51,11 +53,11 @@ public class LoanRepurchaseApply extends BaseEntity {
@ApiModelProperty("回购金额")
private BigDecimal amount;
@ApiModelProperty("公司当前逾期金额月还")
private BigDecimal nowLateMoney;
private BigDecimal overdueMonthPrice;
@ApiModelProperty("公司当前未到期月还")
private BigDecimal nowNoLateMoney;
private BigDecimal currentNotDuePrice;
@ApiModelProperty("公司未到期金额")
private BigDecimal noLateMoney;
private BigDecimal notDuePrice;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("办结日期")

79
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyDetailsVo.java

@ -1,11 +1,15 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyFile;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanSolutionsDetailsssVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
@ -18,7 +22,69 @@ public class LoanRepurchaseApplyDetailsVo implements Vo {
private String userSid;
@ApiModelProperty("使用组织全路径")
private String orgPath;
private LoanRepurchaseSolutionsDetailsssVo solutionsDetailsssVo;
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
private LoanRepurchaseSolutionsDetailsssVo solutionsDetailsssVo = new LoanRepurchaseSolutionsDetailsssVo();
//主体
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请部门sid")
private String createDeptSid;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("贷款人sid")
private String loanSid;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("预计结清日期")
private String prepareDate;
@ApiModelProperty("公司当前逾期金额月还")
private String overdueMonthPrice;
@ApiModelProperty("公司当前未到期月还")
private String currentNotDuePrice;
@ApiModelProperty("公司未到期金额")
private String notDuePrice;
//资方结清费用
@ApiModelProperty("资方逾期月还")
private String price;
@ApiModelProperty("资方当期未到期月还")
private String currentNotDuePriceBank;
@ApiModelProperty("资方未到期金额")
private String notDuePriceBank;
@ApiModelProperty("资方逾期利息")
private String bankInterest;
@ApiModelProperty("资方名义价")
private String bankNominalPrice;
@ApiModelProperty("资方合同违约金")
private String bankContractLiquidated;
@ApiModelProperty("资方其他应收")
private String bankOtherReceivable;
@ApiModelProperty("其他应收说明")
private String otherReceivableRemarks;
@ApiModelProperty("资方结清金额")
private String bankSettlePrice;
private List<LoanRepurchaseApplyFile> bankfiles = new ArrayList<>(); //资方结清费用附件
//公司结清费用
@ApiModelProperty("贷款保证金")
private String loanDeposit;
@ApiModelProperty("公司逾期月还")
@ -47,6 +113,17 @@ public class LoanRepurchaseApplyDetailsVo implements Vo {
private String settleAll;
@ApiModelProperty("结清利润")
private String profit;
//回购情况
@ApiModelProperty("回购金额")
private String amount;
@ApiModelProperty("回购原因")
private String buybacksReason;
@ApiModelProperty("资方收款账户")
private String bankReceivingAccount;
@ApiModelProperty("资方收款账号")
private String bankAccountNo;
private List<LoanRepurchaseApplyFile> buyfiles = new ArrayList<>(); // 回购情况附件
}

53
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFeign.java

@ -2,14 +2,21 @@ package com.yxt.anrui.riskcenter.api.loanrepurchaseapply;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.app.AppRepurchaseDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.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;
/**
* @description: 回购申请
@ -39,7 +46,7 @@ public interface LoanRepurchaseApplyFeign {
public ResultBean<LoanRepurchaseApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
//
//
//
// @ApiOperation("新增或修改")
// @PostMapping("/saveOrUpdate")
@ -61,4 +68,48 @@ public interface LoanRepurchaseApplyFeign {
// @PostMapping("/fetchOneByParNo")
// @ResponseBody
// ResultBean<LoanParameter> fetchOneByParNo(@RequestParam("parNo") String parNo);
//---------------------流程接口-------------------------------
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitRepurchaseDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody RepurchaseCompleteDto dto);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody RepurchaseTaskQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody RepurchaseTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody RepurchaseTaskQuery 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<List<RepurchaseGetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap RepurchaseGetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<RepurchaseGetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap RepurchaseGetNodeQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody RepurchaseDelegateQuery query);
//-----------------------------app----------------------------
@ApiOperation("app详情")
@GetMapping("/appDetail/{sid}")
@ResponseBody
public ResultBean<AppRepurchaseDetailsVo> appDetail(@PathVariable("sid") String sid);
}

54
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFeignFallback.java

@ -1,10 +1,14 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.app.AppRepurchaseDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.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;
/**
* @author Administrator
* @description
@ -22,4 +26,54 @@ public class LoanRepurchaseApplyFeignFallback implements LoanRepurchaseApplyFeig
public ResultBean<LoanRepurchaseApplyDetailsVo> fetchDetailsBySid(String sid) {
return null;
}
@Override
public ResultBean submitRecordApplication(SubmitRepurchaseDto dto) {
return null;
}
@Override
public ResultBean complete(RepurchaseCompleteDto dto) {
return null;
}
@Override
public ResultBean revokeProcess(RepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean taskReject(RepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(RepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
}
@Override
public ResultBean<List<RepurchaseGetNodeVo>> getNextNodesForSubmit(RepurchaseGetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<RepurchaseGetNodeVo>> getPreviousNodesForReject(RepurchaseGetNodeQuery query) {
return null;
}
@Override
public ResultBean delegate(RepurchaseDelegateQuery query) {
return null;
}
@Override
public ResultBean<AppRepurchaseDetailsVo> appDetail(String sid) {
return null;
}
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseApplyFile.java

@ -0,0 +1,18 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/11/17 9:18
*/
@Data
public class LoanRepurchaseApplyFile {
private String filePath;
private String name;
private String size;
private String status;
private String uid;
private String url;
}

110
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/app/AppRepurchaseDetailsVo.java

@ -0,0 +1,110 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/2/7 11:15
*/
@Data
public class AppRepurchaseDetailsVo {
private String sid;
private String publishInfo; // 发起部门-发起人
private String time; //申请日期
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
@ApiModelProperty("催收记录")
private String csjlSid;
@ApiModelProperty("客户名称")
private String custName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("贷款人")
private String borrName;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("贷款合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
//主体
@ApiModelProperty("预计结清日期")
private String prepareDate;
@ApiModelProperty("公司当前逾期金额月还")
private String overdueMonthPrice;
@ApiModelProperty("公司当前未到期月还")
private String currentNotDuePrice;
@ApiModelProperty("公司未到期金额")
private String notDuePrice;
//资方结清费用
@ApiModelProperty("资方逾期月还")
private String price;
@ApiModelProperty("资方当期未到期月还")
private String currentNotDuePriceBank;
@ApiModelProperty("资方未到期金额")
private String notDuePriceBank;
@ApiModelProperty("资方逾期利息")
private String bankInterest;
@ApiModelProperty("资方名义价")
private String bankNominalPrice;
@ApiModelProperty("资方合同违约金")
private String bankContractLiquidated;
@ApiModelProperty("资方其他应收")
private String bankOtherReceivable;
@ApiModelProperty("其他应收说明")
private String otherReceivableRemarks;
@ApiModelProperty("资方结清金额")
private String bankSettlePrice;
private List<String> bankfiles = new ArrayList<>(); //资方结清费用附件
//公司结清费用
@ApiModelProperty("贷款保证金")
private String loanDeposit;
@ApiModelProperty("公司逾期月还")
private String overduePrice;
@ApiModelProperty("垫资方逾期利息")
private String putBankInterest;
@ApiModelProperty("资金占用费")
private String funfCost;
@ApiModelProperty("资方逾期利息")
private String bankOverInterest;
@ApiModelProperty("公司当期未到期月还")
private String companyCurrentNotPrice;
@ApiModelProperty("资方未到期金额")
private String bankNotPrice;
@ApiModelProperty("贷款保证金扣罚金额")
private String deductionAmount;
@ApiModelProperty("名义价")
private String companyNominalPrice;
@ApiModelProperty("合同违约金")
private String contractLiquidated;
@ApiModelProperty("公司其他费用")
private String companyOtherPrice;
@ApiModelProperty("其他费用说明")
private String otherCostRemarks;
@ApiModelProperty("公司正常结清合计")
private String settleAll;
@ApiModelProperty("结清利润")
private String profit;
//回购情况
@ApiModelProperty("回购金额")
private String amount;
@ApiModelProperty("回购原因")
private String buybacksReason;
@ApiModelProperty("资方收款账户")
private String bankReceivingAccount;
@ApiModelProperty("资方收款账号")
private String bankAccountNo;
private List<String> buyfiles = new ArrayList<>(); // 回购情况附件
@ApiModelProperty("销售订单sid")
private String salesOrderSid;
}

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply.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 RepurchaseCompleteDto 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<String, Object> formVariables;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply.flow;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class RepurchaseDelegateQuery {
@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;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseGetNodeQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply.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 RepurchaseGetNodeQuery implements Query {
private static final long serialVersionUID = -5674867230708197611L;
@ApiModelProperty(value = "环节定义id")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseGetNodeVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply.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 RepurchaseGetNodeVo implements Vo {
private static final long serialVersionUID = 8802774014747063504L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/RepurchaseTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply.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 RepurchaseTaskQuery 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<String, Object> values = new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers = new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups = new ArrayList<>();*/
}

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/flow/SubmitRepurchaseDto.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loanrepurchaseapply.flow;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyDto;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/27 13:38
* @Description
*/
@Data
public class SubmitRepurchaseDto extends LoanRepurchaseApplyDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

54
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyRest.java

@ -6,6 +6,8 @@ import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyDetai
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyFeign;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyQuery;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.app.AppRepurchaseDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.flow.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -15,6 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @description:
* @author: fan
@ -40,4 +44,54 @@ public class LoanRepurchaseApplyRest implements LoanRepurchaseApplyFeign {
public ResultBean<LoanRepurchaseApplyDetailsVo> fetchDetailsBySid(String sid) {
return loanRepurchaseApplyService.fetchDetailsBySid(sid);
}
@Override
public ResultBean submitRecordApplication(SubmitRepurchaseDto dto) {
return null;
}
@Override
public ResultBean complete(RepurchaseCompleteDto dto) {
return null;
}
@Override
public ResultBean revokeProcess(RepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean taskReject(RepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(RepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
}
@Override
public ResultBean<List<RepurchaseGetNodeVo>> getNextNodesForSubmit(RepurchaseGetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<RepurchaseGetNodeVo>> getPreviousNodesForReject(RepurchaseGetNodeQuery query) {
return null;
}
@Override
public ResultBean delegate(RepurchaseDelegateQuery query) {
return null;
}
@Override
public ResultBean<AppRepurchaseDetailsVo> appDetail(String sid) {
return loanRepurchaseApplyService.appDetail(sid);
}
}

13
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepurchaseapply/LoanRepurchaseApplyService.java

@ -13,6 +13,7 @@ import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApply;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyQuery;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.app.AppRepurchaseDetailsVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApply;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyQuery;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyVo;
@ -149,6 +150,16 @@ public class LoanRepurchaseApplyService extends MybatisBaseService<LoanRepurchas
}
public ResultBean<LoanRepurchaseApplyDetailsVo> fetchDetailsBySid(String sid) {
return null;
ResultBean rb = ResultBean.fireFail();
LoanRepurchaseApplyDetailsVo vo = new LoanRepurchaseApplyDetailsVo();
return rb.success().setData(vo);
}
public ResultBean<AppRepurchaseDetailsVo> appDetail(String sid) {
ResultBean rb = ResultBean.fireFail();
AppRepurchaseDetailsVo vo = new AppRepurchaseDetailsVo();
return rb.success().setData(vo);
}
}

112
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/RepurchaseDetailsVo.java

@ -0,0 +1,112 @@
package com.yxt.anrui.terminal.api.risk.repurchase;
import com.yxt.anrui.terminal.api.base.common.CarModelVo;
import com.yxt.anrui.terminal.api.risk.redemption.AppVinList;
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/11/13 15:38
*/
@Data
public class RepurchaseDetailsVo implements Vo {
private String sid;
private String publishInfo; // 发起部门-发起人
private String time; //申请日期
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
@ApiModelProperty("催收记录")
private String csjlSid;
@ApiModelProperty("客户名称")
private String custName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("贷款人")
private String borrName;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("贷款合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
//主体
@ApiModelProperty("预计结清日期")
private String prepareDate;
@ApiModelProperty("公司当前逾期金额月还")
private String overdueMonthPrice;
@ApiModelProperty("公司当前未到期月还")
private String currentNotDuePrice;
@ApiModelProperty("公司未到期金额")
private String notDuePrice;
//资方结清费用
@ApiModelProperty("资方逾期月还")
private String price;
@ApiModelProperty("资方当期未到期月还")
private String currentNotDuePriceBank;
@ApiModelProperty("资方未到期金额")
private String notDuePriceBank;
@ApiModelProperty("资方逾期利息")
private String bankInterest;
@ApiModelProperty("资方名义价")
private String bankNominalPrice;
@ApiModelProperty("资方合同违约金")
private String bankContractLiquidated;
@ApiModelProperty("资方其他应收")
private String bankOtherReceivable;
@ApiModelProperty("其他应收说明")
private String otherReceivableRemarks;
@ApiModelProperty("资方结清金额")
private String bankSettlePrice;
private List<String> bankfiles = new ArrayList<>(); //资方结清费用附件
//公司结清费用
@ApiModelProperty("贷款保证金")
private String loanDeposit;
@ApiModelProperty("公司逾期月还")
private String overduePrice;
@ApiModelProperty("垫资方逾期利息")
private String putBankInterest;
@ApiModelProperty("资金占用费")
private String funfCost;
@ApiModelProperty("资方逾期利息")
private String bankOverInterest;
@ApiModelProperty("公司当期未到期月还")
private String companyCurrentNotPrice;
@ApiModelProperty("资方未到期金额")
private String bankNotPrice;
@ApiModelProperty("贷款保证金扣罚金额")
private String deductionAmount;
@ApiModelProperty("名义价")
private String companyNominalPrice;
@ApiModelProperty("合同违约金")
private String contractLiquidated;
@ApiModelProperty("公司其他费用")
private String companyOtherPrice;
@ApiModelProperty("其他费用说明")
private String otherCostRemarks;
@ApiModelProperty("公司正常结清合计")
private String settleAll;
@ApiModelProperty("结清利润")
private String profit;
//回购情况
@ApiModelProperty("回购金额")
private String amount;
@ApiModelProperty("回购原因")
private String buybacksReason;
@ApiModelProperty("资方收款账户")
private String bankReceivingAccount;
@ApiModelProperty("资方收款账号")
private String bankAccountNo;
private List<String> buyfiles = new ArrayList<>(); // 回购情况附件
@ApiModelProperty("销售订单sid")
private String salesOrderSid;
private CarModelVo jrfa;//金融方案
}

71
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/RepurchaseFeign.java

@ -0,0 +1,71 @@
package com.yxt.anrui.terminal.api.risk.repurchase;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionDelegateQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionTaskQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.CompleteRedemptionDto;
import com.yxt.anrui.terminal.api.risk.redemption.flow.RedemptionFlowableQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.AppRepurchaseDelegateQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.AppRepurchaseTaskQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.CompleteRepurchaseDto;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.RepurchaseFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @description:
* @author: fzz
* @date: 2023/8/8
**/
@Api(tags = "回购申请")
@FeignClient(
contextId = "terminal-Repurchase",
name = "anrui-terminal",
path = "/riskcenter/v1/Repurchase",
fallback = RepurchaseFeignFallback.class)
public interface RepurchaseFeign {
@ApiOperation("详情")
@GetMapping("/appDetail/{sid}")
@ResponseBody
ResultBean<RepurchaseDetailsVo> detail(@PathVariable("sid") String sid);
//-------------------------流程-----------------------------------------
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@Valid @RequestBody CompleteRepurchaseDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@Valid @RequestBody AppRepurchaseTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@Valid @RequestBody AppRepurchaseTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@Valid @RequestBody AppRepurchaseTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap RepurchaseFlowableQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppRepurchaseDelegateQuery delegateQuery);
}

57
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/RepurchaseFeignFallback.java

@ -0,0 +1,57 @@
package com.yxt.anrui.terminal.api.risk.repurchase;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionDelegateQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionTaskQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.CompleteRedemptionDto;
import com.yxt.anrui.terminal.api.risk.redemption.flow.RedemptionFlowableQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.AppRepurchaseDelegateQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.AppRepurchaseTaskQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.CompleteRepurchaseDto;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.RepurchaseFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: fzz
* @date:
**/
@Component
public class RepurchaseFeignFallback implements RepurchaseFeign {
@Override
public ResultBean<RepurchaseDetailsVo> detail(String sid) {
return null;
}
@Override
public ResultBean agreeCreditInfo(CompleteRepurchaseDto dto) {
return null;
}
@Override
public ResultBean rejectCreditInfo(AppRepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean recallCreditInfo(AppRepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean stopCreditInfo(AppRepurchaseTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(RepurchaseFlowableQuery query) {
return null;
}
@Override
public ResultBean delegate(AppRepurchaseDelegateQuery delegateQuery) {
return null;
}
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/flow/AppRepurchaseDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.risk.repurchase.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 10:16
*/
@Data
public class AppRepurchaseDelegateQuery {
@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;
}

46
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/flow/AppRepurchaseTaskQuery.java

@ -0,0 +1,46 @@
package com.yxt.anrui.terminal.api.risk.repurchase.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:14
*/
@Data
public class AppRepurchaseTaskQuery implements Query {
/**
* 终止驳回撤回
*/
@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")
@JsonProperty("procInsId")
private String instanceId;
}

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/flow/CompleteRepurchaseDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.risk.repurchase.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:13
*/
@Data
public class CompleteRepurchaseDto implements Dto {
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repurchase/flow/RepurchaseFlowableQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.risk.repurchase.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class RepurchaseFlowableQuery implements Query {
private static final long serialVersionUID = -5879668616710833830L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

68
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/repurchase/RepurchaseRest.java

@ -0,0 +1,68 @@
package com.yxt.anrui.terminal.biz.risk.repurchase;
import com.yxt.anrui.terminal.api.risk.redemption.RedemptionDetailsVo;
import com.yxt.anrui.terminal.api.risk.redemption.RedemptionFeign;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionDelegateQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionTaskQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.CompleteRedemptionDto;
import com.yxt.anrui.terminal.api.risk.redemption.flow.RedemptionFlowableQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.RepurchaseDetailsVo;
import com.yxt.anrui.terminal.api.risk.repurchase.RepurchaseFeign;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.AppRepurchaseDelegateQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.AppRepurchaseTaskQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.CompleteRepurchaseDto;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.RepurchaseFlowableQuery;
import com.yxt.common.core.result.ResultBean;
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("/riskcenter/v1/Repurchase")
public class RepurchaseRest implements RepurchaseFeign {
@Autowired
private RepurchaseService repurchaseService;
@Override
public ResultBean<RepurchaseDetailsVo> detail(String sid) {
return repurchaseService.detail(sid);
}
@Override
public ResultBean agreeCreditInfo(CompleteRepurchaseDto dto) {
return repurchaseService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppRepurchaseTaskQuery query) {
return repurchaseService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppRepurchaseTaskQuery query) {
return repurchaseService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppRepurchaseTaskQuery query) {
return repurchaseService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(RepurchaseFlowableQuery query) {
return repurchaseService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppRepurchaseDelegateQuery delegateQuery) {
return repurchaseService.delegate(delegateQuery);
}
}

157
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/repurchase/RepurchaseService.java

@ -0,0 +1,157 @@
package com.yxt.anrui.terminal.biz.risk.repurchase;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyFeign;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.app.AppRedemptionDetailsVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.LoanRepurchaseApplyFeign;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.app.AppRepurchaseDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepurchaseapply.flow.*;
import com.yxt.anrui.terminal.api.risk.redemption.RedemptionDetailsVo;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionDelegateQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionTaskQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.CompleteRedemptionDto;
import com.yxt.anrui.terminal.api.risk.redemption.flow.RedemptionFlowableQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.RepurchaseDetailsVo;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.AppRepurchaseDelegateQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.AppRepurchaseTaskQuery;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.CompleteRepurchaseDto;
import com.yxt.anrui.terminal.api.risk.repurchase.flow.RepurchaseFlowableQuery;
import com.yxt.common.core.result.ResultBean;
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 RepurchaseService {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private LoanRepurchaseApplyFeign loanRepurchaseApplyFeign;
public ResultBean<RepurchaseDetailsVo> detail(String sid) {
ResultBean<RepurchaseDetailsVo> rb = ResultBean.fireFail();
RepurchaseDetailsVo vo = new RepurchaseDetailsVo();
AppRepurchaseDetailsVo data = loanRepurchaseApplyFeign.appDetail(sid).getData();
if (null != data) {
BeanUtil.copyProperties(data, vo);
}
return rb.success().setData(vo);
}
public ResultBean agreeCreditInfo(CompleteRepurchaseDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
RepurchaseCompleteDto completeDto = new
RepurchaseCompleteDto();
BeanUtil.copyProperties(dto, completeDto);
completeDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = loanRepurchaseApplyFeign.complete(completeDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectCreditInfo(AppRepurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
RepurchaseTaskQuery taskQuery = new
RepurchaseTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanRepurchaseApplyFeign.taskReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(AppRepurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
RepurchaseTaskQuery taskQuery = new
RepurchaseTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanRepurchaseApplyFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(AppRepurchaseTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
RepurchaseTaskQuery taskQuery = new
RepurchaseTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanRepurchaseApplyFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(RepurchaseFlowableQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
RepurchaseGetNodeQuery getNodeQuery = new
RepurchaseGetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<RepurchaseGetNodeVo>> getPreviousNodesForReject = loanRepurchaseApplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<RepurchaseGetNodeVo>> getNextNodesForSubmit = loanRepurchaseApplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppRepurchaseDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
RepurchaseDelegateQuery delegateQuery1 = new
RepurchaseDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = loanRepurchaseApplyFeign.delegate(delegateQuery1);
return rb.success();
}
}
Loading…
Cancel
Save