Browse Source

移动端客户洽谈需求

master
dimengzhe 2 years ago
parent
commit
7dac7de9cd
  1. 165
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmSolutions.java
  2. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicleDemandUpdateDto.java
  3. 7
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDetailsVo.java
  4. 24
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmSolutionListVo.java
  5. 2
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmSolutions.java
  6. 2
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemand.java
  7. 3
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml
  8. 7
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java
  9. 96
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java
  10. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  11. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java
  12. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java
  13. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsRest.java
  14. 84
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java

165
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmSolutions.java

@ -0,0 +1,165 @@
package com.yxt.anrui.crm.api.crmvehicledemand;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/29
**/
@Data
public class AppCrmSolutions {
@JsonProperty("isShowMore")
private boolean isShowMore;
@ApiModelProperty("是否打包:1是0否")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
private String policySid;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@NotBlank(message = "首付金额不能为空")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
@NotBlank(message = "产品期数不能为空")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@NotBlank(message = "贷款保证金不能为空")
private String bondAmount;
@ApiModelProperty("厂家贴息")
@NotBlank(message = "厂家贴息不能为空")
private String factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("贴息抵车款")
@JsonProperty("factoryDiscountUseMoney")
private String discountCar;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@NotBlank(message = "月还金额不能为空")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("其它融名称")
private String otherPolicyName;
private String otherPolicySid;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
@NotBlank(message = "服务费不能为空")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
private List<CrmSolutionListVo> financeForms = new ArrayList<>();
}

4
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicleDemandUpdateDto.java

@ -40,5 +40,7 @@ public class AppCrmVehicleDemandUpdateDto implements Dto {
@ApiModelProperty(value = "1自有资金,2三方金融") @ApiModelProperty(value = "1自有资金,2三方金融")
private String financePlanValue; private String financePlanValue;
@ApiModelProperty("金融方案") @ApiModelProperty("金融方案")
private CrmSolutions finNormal; private AppCrmSolutions finNormal;
@ApiModelProperty("1常规、2定制")
private String finTypeKey;
} }

7
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/AppCrmVehicledemandDetailsVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.crm.api.crmvehicledemand; package com.yxt.anrui.crm.api.crmvehicledemand;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo; import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -46,5 +47,11 @@ public class AppCrmVehicledemandDetailsVo implements Vo {
private String financePlan; private String financePlan;
@ApiModelProperty(value = "金融方案value") @ApiModelProperty(value = "金融方案value")
private String financePlanValue; private String financePlanValue;
@JsonProperty("finTypeKey")
private String typeKey;
private String type;
private AppCrmSolutions finNormal;
} }

24
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmSolutionListVo.java

@ -0,0 +1,24 @@
package com.yxt.anrui.crm.api.crmvehicledemand;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/29
**/
@Data
public class CrmSolutionListVo {
@ApiModelProperty(value = "内容")
private String value;
@ApiModelProperty(value = "单元格大小")
private Integer spanSize;
@ApiModelProperty("类型:0 最普通的 1 标题的 2是 加上划线的")
private Integer type;
@ApiModelProperty("是否加粗,true是,false否")
private boolean bold;
}

2
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmSolutions.java

@ -66,6 +66,8 @@ public class CrmSolutions {
private String factoryDiscount; private String factoryDiscount;
@ApiModelProperty("厂家贴息用途") @ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse; private String factoryDiscountUse;
@ApiModelProperty("贴息抵车款")
private String discountCar;
@ApiModelProperty("年利率") @ApiModelProperty("年利率")
private String policyYearRatio; private String policyYearRatio;

2
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemand.java

@ -87,6 +87,8 @@ public class CrmVehicledemand extends BaseEntity {
@ApiModelProperty("1自有资金,2三方金融,3非担保,4担保") @ApiModelProperty("1自有资金,2三方金融,3非担保,4担保")
private String financePlanValue; private String financePlanValue;
@ApiModelProperty("01资方常规,02定制金融") @ApiModelProperty("01资方常规,02定制金融")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String typeKey; private String typeKey;
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String type; private String type;
} }

3
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandMapper.xml

@ -108,7 +108,8 @@
cv.otherConfig, cv.otherConfig,
cv.sketChconfiguration as configName, cv.sketChconfiguration as configName,
cv.financePlan, cv.financePlan,
cv.financePlanValue cv.financePlanValue,
cv.typeKey
FROM crm_vehicledemand cv FROM crm_vehicledemand cv
WHERE cv.sid = #{intentionSid} WHERE cv.sid = #{intentionSid}
</select> </select>

7
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java

@ -165,8 +165,7 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign {
*/ */
@Override @Override
public ResultBean<AppCrmVehicledemandDetailsVo> initVisitDemands(String intentionSid) { public ResultBean<AppCrmVehicledemandDetailsVo> initVisitDemands(String intentionSid) {
AppCrmVehicledemandDetailsVo vo = crmVehicledemandService.initVisitDemands(intentionSid); return crmVehicledemandService.initVisitDemands(intentionSid);
return new ResultBean<AppCrmVehicledemandDetailsVo>().success().setData(vo);
} }
/** /**
@ -177,9 +176,7 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign {
*/ */
@Override @Override
public ResultBean saveVisitDemands(AppCrmVehicleDemandUpdateDto appCrmVehicleDemandUpdateDto) { public ResultBean saveVisitDemands(AppCrmVehicleDemandUpdateDto appCrmVehicleDemandUpdateDto) {
ResultBean rb = ResultBean.fireFail(); return crmVehicledemandService.saveVisitDemands(appCrmVehicleDemandUpdateDto);
crmVehicledemandService.saveVisitDemands(appCrmVehicleDemandUpdateDto);
return rb.success();
} }
/** /**

96
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java

@ -1,12 +1,14 @@
package com.yxt.anrui.crm.biz.crmvehicledemand; package com.yxt.anrui.crm.biz.crmvehicledemand;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.AppModelVeDetailVo; import com.yxt.anrui.base.api.basevehmodelconfig.AppModelVeDetailVo;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo;
import com.yxt.anrui.buscenter.api.bussalesorder.OrderSolutionVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmfindemand.CrmFindemand; import com.yxt.anrui.crm.api.crmfindemand.CrmFindemand;
import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandDto; import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandDto;
@ -19,10 +21,15 @@ import com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempService;
import com.yxt.anrui.crm.biz.crmfindemand.CrmFindemandService; import com.yxt.anrui.crm.biz.crmfindemand.CrmFindemandService;
import com.yxt.anrui.crm.biz.crmvehiclefinance.CrmVehicleFinanceService; import com.yxt.anrui.crm.biz.crmvehiclefinance.CrmVehicleFinanceService;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.SolutionDetailsDto; import com.yxt.anrui.riskcenter.api.loansolutions.SolutionDetailsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionListVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssDto; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssVo;
import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail;
import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy;
import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateSolutionsVo; import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateSolutionsVo;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
@ -37,9 +44,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Arrays; import java.util.*;
import java.util.Date; import java.util.stream.Collectors;
import java.util.List;
/** /**
* Project: anrui-crm(客户管理) <br/> * Project: anrui-crm(客户管理) <br/>
@ -353,21 +359,34 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
* @param intentionSid * @param intentionSid
* @return * @return
*/ */
public AppCrmVehicledemandDetailsVo initVisitDemands(String intentionSid) { public ResultBean<AppCrmVehicledemandDetailsVo> initVisitDemands(String intentionSid) {
ResultBean<AppCrmVehicledemandDetailsVo> rb = ResultBean.fireFail();
AppCrmVehicledemandDetailsVo appCrmVehicledemandDetailsVo = baseMapper.selectBySid(intentionSid); AppCrmVehicledemandDetailsVo appCrmVehicledemandDetailsVo = baseMapper.selectBySid(intentionSid);
return appCrmVehicledemandDetailsVo; ResultBean<SolutionssVo> resultBean = loanSolutionsFeign.selectDetails3(intentionSid);
if (resultBean.getData() != null) {
AppCrmSolutions finNormal = new AppCrmSolutions();
BeanUtil.copyProperties(resultBean.getData(), finNormal);
List<SolutionListVo> financeForms = resultBean.getData().getFinanceForms();
if (!financeForms.isEmpty()) {
List<CrmSolutionListVo> voList = Optional.ofNullable(financeForms).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), CrmSolutionListVo.class)).collect(Collectors.toList());
finNormal.setFinanceForms(voList);
}
appCrmVehicledemandDetailsVo.setFinNormal(finNormal);
}
return rb.success().setData(appCrmVehicledemandDetailsVo);
} }
/** /**
* 修改意向车型 * 修改意向车型
*
* @param appCrmVehicleDemandUpdateDto
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ResultBean saveVisitDemands(AppCrmVehicleDemandUpdateDto dto) { public ResultBean saveVisitDemands(AppCrmVehicleDemandUpdateDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String sid = dto.getIntentionSid(); String sid = dto.getIntentionSid();
CrmVehicledemand entity = fetchBySid(sid); CrmVehicledemand entity = fetchBySid(sid);
if (entity == null) {
return rb.setMsg("该车辆需求不存在");
}
BeanUtil.copyProperties(dto, entity); BeanUtil.copyProperties(dto, entity);
entity.setEstimatedPickupDate(dto.getDate()); entity.setEstimatedPickupDate(dto.getDate());
if (StringUtils.isNotBlank(dto.getPrice())) { if (StringUtils.isNotBlank(dto.getPrice())) {
@ -375,14 +394,45 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
} else { } else {
entity.setVehicleModelOffer(null); entity.setVehicleModelOffer(null);
} }
if (!"1".equals(dto.getFinancePlan())) {//金融方案 if ("1".equals(dto.getPurchaseMethod())) {
CrmSolutions finNormal = dto.getFinNormal(); if ("1".equals(dto.getFinancePlan())) {
SolutionssDto solutionsDto = new SolutionssDto(); entity.setType(null);
BeanUtil.copyProperties(finNormal, solutionsDto, "sid"); entity.setTypeKey(null);
solutionsDto.setSaleOrderSid(sid); loanSolutionsFeign.deleteByOrderSid(sid);
ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto); } else {
if (!resultBean.getSuccess()) { if ("1".equals(dto.getFinTypeKey())) {//资方常规
return rb.setMsg(resultBean.getMsg()); AppCrmSolutions finNormal = dto.getFinNormal();
SolutionssDto solutionsDto = new SolutionssDto();
BeanUtil.copyProperties(finNormal, solutionsDto, "sid");
solutionsDto.setSaleOrderSid(sid);
ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto);
entity.setTypeKey("1");
entity.setType("资方常规");
} else {//金融定制
}
}
} else {
if ("1".equals(dto.getFinTypeKey())) {//资方常规
AppCrmSolutions finNormal = dto.getFinNormal();
SolutionssDto solutionsDto = new SolutionssDto();
BeanUtil.copyProperties(finNormal, solutionsDto, "sid");
solutionsDto.setSaleOrderSid(sid);
ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto);
entity.setTypeKey("1");
entity.setType("资方常规");
SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(sid).getData();
if (loanSolutions != null) {
if (StringUtils.isBlank(loanSolutions.getTypeKey())) {
entity.setFinancePlan("4");//担保
entity.setFinancePlanValue("担保");//担保
} else {
entity.setFinancePlan("3");//自营非担保
entity.setFinancePlanValue("自营非担保");//自营非担保
}
}
} else {//金融定制
} }
} }
baseMapper.updateById(entity); baseMapper.updateById(entity);
@ -534,7 +584,7 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
crmVehicledemand.setCustomerSid(crmCustomerTemp.getSid()); crmVehicledemand.setCustomerSid(crmCustomerTemp.getSid());
crmVehicledemand.setStates("1"); crmVehicledemand.setStates("1");
//新增客户的金融方案 //新增客户的金融方案
if ("01".equals(dto.getTypeKey())) {//资方常规 if ("1".equals(dto.getTypeKey())) {//资方常规
CrmSolutions crmSolutions = dto.getCrmSolutions(); CrmSolutions crmSolutions = dto.getCrmSolutions();
if (crmSolutions != null) { if (crmSolutions != null) {
SolutionssDto solutionsDto = new SolutionssDto(); SolutionssDto solutionsDto = new SolutionssDto();
@ -548,10 +598,9 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
solutionsDto.setShowMore(true); solutionsDto.setShowMore(true);
} }
ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto); ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
} }
crmVehicledemand.setTypeKey("1");
crmVehicledemand.setType("资方常规");
} else {//定制金融 } else {//定制金融
} }
baseMapper.insert(crmVehicledemand); baseMapper.insert(crmVehicledemand);
@ -563,12 +612,12 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
} }
BeanUtil.copyProperties(dto, crmVehicledemand, "sid"); BeanUtil.copyProperties(dto, crmVehicledemand, "sid");
crmVehicledemand.setCustomerSid(crmCustomerTemp.getSid()); crmVehicledemand.setCustomerSid(crmCustomerTemp.getSid());
if ("1".equals(dto.getTypeKey())) { if ("1".equals(dto.getFinancePlan())) {
//删除金融方案 //删除金融方案
loanSolutionsFeign.deleteByOrderSid(sid); loanSolutionsFeign.deleteByOrderSid(sid);
} else { } else {
//新增客户的金融方案 //新增客户的金融方案
if ("01".equals(dto.getTypeKey())) {//资方常规 if ("1".equals(dto.getTypeKey())) {//资方常规
CrmSolutions crmSolutions = dto.getCrmSolutions(); CrmSolutions crmSolutions = dto.getCrmSolutions();
if (crmSolutions != null) { if (crmSolutions != null) {
SolutionssDto solutionsDto = new SolutionssDto(); SolutionssDto solutionsDto = new SolutionssDto();
@ -580,10 +629,9 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
solutionsDto.setShowMore(true); solutionsDto.setShowMore(true);
} }
ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto); ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
} }
crmVehicledemand.setTypeKey("1");
crmVehicledemand.setType("资方常规");
} else {//定制金融 } else {//定制金融
} }

8
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -527,7 +527,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
String billNo = getApplyCode(finCollectionConfirmation.getUseOrgSid()); String billNo = getApplyCode(finCollectionConfirmation.getUseOrgSid());
finCollectionConfirmation.setBillNo(billNo); finCollectionConfirmation.setBillNo(billNo);
baseMapper.insert(finCollectionConfirmation); baseMapper.insert(finCollectionConfirmation);
} else {//认款、多次认款 } /*else {//认款、多次认款
FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid); FinCollectionConfirmation finCollectionConfirmation = fetchBySid(sid);
if (finCollectionConfirmation == null) { if (finCollectionConfirmation == null) {
return rb.setMsg("该申请不存在"); return rb.setMsg("该申请不存在");
@ -568,7 +568,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
finCollectionConfirmation.setAuditState(1); finCollectionConfirmation.setAuditState(1);
baseMapper.updateById(finCollectionConfirmation); baseMapper.updateById(finCollectionConfirmation);
} }*/
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功");
} }
@ -983,9 +983,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
} }
//再次认款 //再次认款
if (finCollectionConfirmation.getAuditState() == 3) { /* if (finCollectionConfirmation.getAuditState() == 3) {
finCollectionConfirmation.setFirst(1); finCollectionConfirmation.setFirst(1);
} }*/
//汇款确认书保存 //汇款确认书保存
List<String> payConfirmFiles = dto.getPayConfirmFiles(); List<String> payConfirmFiles = dto.getPayConfirmFiles();
if (payConfirmFiles.size() > 0) { if (payConfirmFiles.size() > 0) {

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeign.java

@ -110,6 +110,10 @@ public interface LoanSolutionsFeign {
@PostMapping("/selectDetails2") @PostMapping("/selectDetails2")
ResultBean<SolutionssVo> selectDetails2(@RequestParam("salesOrderSid") String busSid); ResultBean<SolutionssVo> selectDetails2(@RequestParam("salesOrderSid") String busSid);
@ApiOperation("客户洽谈金融方案初始化")
@PostMapping("/selectDetails3")
ResultBean<SolutionssVo> selectDetails3(@RequestParam("salesOrderSid") String busSid);
@ApiOperation("移动端计算初始化") @ApiOperation("移动端计算初始化")
@PostMapping("/details2") @PostMapping("/details2")
ResultBean<SolutionssVo> details2(@RequestBody SolutionssQuery query); ResultBean<SolutionssVo> details2(@RequestBody SolutionssQuery query);

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/LoanSolutionsFeignFallback.java

@ -78,6 +78,11 @@ public class LoanSolutionsFeignFallback implements LoanSolutionsFeign {
return null; return null;
} }
@Override
public ResultBean<SolutionssVo> selectDetails3(String busSid) {
return null;
}
@Override @Override
public ResultBean<SolutionssVo> details2(SolutionssQuery query) { public ResultBean<SolutionssVo> details2(SolutionssQuery query) {
return null; return null;

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsRest.java

@ -90,6 +90,11 @@ public class LoanSolutionsRest implements LoanSolutionsFeign {
return loanSolutionsService.selectDetails2(busSid); return loanSolutionsService.selectDetails2(busSid);
} }
@Override
public ResultBean<SolutionssVo> selectDetails3(String busSid) {
return loanSolutionsService.selectDetails3(busSid);
}
@Override @Override
public ResultBean<SolutionssVo> details2(SolutionssQuery query) { public ResultBean<SolutionssVo> details2(SolutionssQuery query) {
return loanSolutionsService.details2(query); return loanSolutionsService.details2(query);

84
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java

@ -2185,6 +2185,90 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
return loanSolutions; return loanSolutions;
} }
public ResultBean<SolutionssVo> selectDetails3(String busSid) {
ResultBean<SolutionssVo> rb = ResultBean.fireFail();
SolutionssVo solutionssVo = new SolutionssVo();
//根据关联sid查询是否存在金融方案
LoanSolutions loanSolutions = baseMapper.selectByApplySid(busSid);
boolean isTrue = false;
if (loanSolutions != null) {
BeanUtil.copyProperties(loanSolutions, solutionssVo);
if (loanSolutions.getTrailerAmount() != null) {
solutionssVo.setGcPrice(loanSolutions.getTrailerAmount().toString());
}
LoanSolutionsOtherpolicy loanSolutionsOtherpolicy = loanSolutionsOtherpolicyService.selectByLoanSid(loanSolutions.getSid());
if (loanSolutionsOtherpolicy != null) {
BeanUtil.copyProperties(loanSolutionsOtherpolicy, solutionssVo);
}
LoanSolutionsDetail loanSolutionsDetail = loanSolutionsDetailService.selectLoanSid(loanSolutions.getSid());
if (loanSolutionsDetail != null) {
BeanUtil.copyProperties(loanSolutionsDetail, solutionssVo);
}
isTrue = true;
}
//全款且为三方金融
if(StringUtils.isBlank(loanSolutions.getTypeKey())){
solutionssVo.setShowMore(true);
solutionssVo.setFactoryDiscountUse("抵利息");
if (isTrue) {
if (StringUtils.isNotBlank(loanSolutions.getPolicySid()) && loanSolutions.getOtherPolicyState() == 0) {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(loanSolutions.getPolicySid());
if (loanFinOtherPolicy != null) {
solutionssVo.setOtherPolicyName(loanFinOtherPolicy.getOtherPolicyName());
solutionssVo.setOtherPolicySid(loanFinOtherPolicy.getSid());
solutionssVo.setOtherPolicyPeriod(String.valueOf(loanFinOtherPolicy.getPeriod()));
solutionssVo.setOtherPolicyYearRatio(loanFinOtherPolicy.getYearRatio().toString());
solutionssVo.setOtherPolicyIsMain(true);
}
} else {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(loanSolutions.getPolicySid());
if (loanFinOtherPolicy != null) {
solutionssVo.setOtherPolicyIsMain(true);
}
}
}
}else{
if ("2".equals(loanSolutions.getTypeKey())) {
solutionssVo.setFactoryDiscountUse("抵车款");
if (isTrue) {
if ("02".equals(loanSolutions.getTypeKey())) {
solutionssVo.setShowMore(false);
} else {
solutionssVo.setShowMore(true);
}
} else {
solutionssVo.setShowMore(false);
}
}else{
solutionssVo.setShowMore(true);
solutionssVo.setFactoryDiscountUse("抵利息");
if (isTrue) {
if (StringUtils.isNotBlank(loanSolutions.getPolicySid()) && loanSolutions.getOtherPolicyState() == 0) {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(loanSolutions.getPolicySid());
if (loanFinOtherPolicy != null) {
solutionssVo.setOtherPolicyName(loanFinOtherPolicy.getOtherPolicyName());
solutionssVo.setOtherPolicySid(loanFinOtherPolicy.getSid());
solutionssVo.setOtherPolicyPeriod(String.valueOf(loanFinOtherPolicy.getPeriod()));
solutionssVo.setOtherPolicyYearRatio(loanFinOtherPolicy.getYearRatio().toString());
solutionssVo.setOtherPolicyIsMain(true);
}
} else {
LoanFinOtherPolicy loanFinOtherPolicy = loanFinOtherPolicyService.selectByMainSid(loanSolutions.getPolicySid());
if (loanFinOtherPolicy != null) {
solutionssVo.setOtherPolicyIsMain(true);
}
}
}
}
}
if (isTrue) {
List<SolutionListVo> formList = getFormList(solutionssVo);
solutionssVo.setFinanceForms(formList);
}
solutionssVo.setBusSid(busSid);
return rb.success().setData(solutionssVo);
}

Loading…
Cancel
Save