FeeRuleSchemeService.java 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.ydtech.modules.fee.service;
  2. import com.ydtech.modules.ins.model.vo.QuoteRespVo;
  3. import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
  4. import com.ydtech.modules.order.entity.vo.FeeOrderNewVo;
  5. import com.ydtech.modules.order.entity.vo.QueryOrderFeeResultVo;
  6. import com.ydtech.modules.order.entity.vo.QueryOrderFeeVo;
  7. import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
  8. import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
  9. import java.math.BigDecimal;
  10. import java.util.List;
  11. /**
  12. * 该类中只要包含费用的一些相关接口
  13. * 跟单费用的获取、跟单费用的拆分等
  14. */
  15. public interface FeeRuleSchemeService {
  16. /**
  17. * 总处理费用匹配方法
  18. * @param quoteInfoVo
  19. * @param quoteRespVo
  20. * @param agreementId
  21. * @param businessNo
  22. */
  23. // public void dealFeeOrderInfo(BaseQuoteInfoVo quoteInfoVo, QuoteRespVo quoteRespVo, String agreementId,String businessNo);
  24. /**
  25. * 查询费用明细
  26. * @param companyId
  27. * @return
  28. */
  29. public QueryOrderFeeVo queryFeeOrderInfo(String companyId);
  30. // public List<QueryOrderFeeResultVo> convertOrderFeeVoData(QueryOrderFeeVo orderFeeVo);
  31. /**
  32. * 比较和更新总费用比例
  33. * @param insOrderNo
  34. * @param jqCostsProportionStr
  35. * @param syCostsProportionStr
  36. */
  37. void compareAndUpdateFeeOrderInfo(String insOrderNo ,String jqCostsProportionStr,String syCostsProportionStr,String dealUser);
  38. /**
  39. * 计算入口费用
  40. * @param premium 保费
  41. * @param superviseCostsProportion 手续费比例
  42. * @param otherCostsProportion 跟单比例
  43. */
  44. FeeOrderNewVo.EntranceFee calcEntranceFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal otherCostsProportion, BigDecimal taxRate);
  45. /**
  46. * 计算机构管理费用
  47. * @param premium 保费
  48. * @param level1Proportion 一级比例
  49. * @param level2Proportion 二级比例
  50. * @param level3Proportion 三级比例
  51. * @param level4Proportion 四级比例
  52. * @param level5Proportion 五级比例
  53. * @return
  54. */
  55. public FeeOrderNewVo.DeptManagerFee calcDeptManagerFee(BigDecimal premium, BigDecimal level1Proportion,BigDecimal level2Proportion,
  56. BigDecimal level3Proportion,BigDecimal level4Proportion,BigDecimal level5Proportion);
  57. /**
  58. * 计算出口费用
  59. * @param premium 保费
  60. * @param superviseCostsProportion 出口手续费
  61. * @param entranceTotalProportion 入口总比例
  62. * @param deptTotalProportion 机构管理费总比例
  63. * @param retailTotalProportion 分销总比例
  64. * @param taxRate 税率
  65. * @return
  66. */
  67. public FeeOrderNewVo.ExportFee calcExportFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal entranceTotalProportion,
  68. BigDecimal deptTotalProportion,BigDecimal retailTotalProportion,BigDecimal taxRate);
  69. FeeOrderNewVo newConvertOrderFeeVoData(InsFeeOrderNew insFeeOrderNew, PtlAgreementProductCostsNew ptlAgreementProductCostsNew);
  70. }