- 浏览: 56655 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (117)
- RPC相关 (4)
- mvc_controller (3)
- mvc_model (3)
- maven (4)
- mvc_view (5)
- IO (2)
- 业务相关 (2)
- MQ (7)
- 搜索引擎 (3)
- zookeeper (2)
- 工具相关 (4)
- 编辑错误 (1)
- tomcat (1)
- 单元测试 (1)
- 负载均衡 (1)
- ubuntu (1)
- nginx (1)
- dubbo (2)
- 网络站点分发 (1)
- 电商-支付相关 (10)
- 电商订单业务相关 (3)
- Core java1 (3)
- Core Java (12)
- 多线程高并发(并发包/线程/锁) (10)
- 数据库+缓存 (17)
- springcloud (2)
- jvm (5)
- 日志相关 (1)
- 算法 (3)
- spring (2)
- 分布式一致性算法 (1)
最新评论
https://docs.open.alipay.com/60/104790/
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.ZketYD&treeId=338&articleId=106464&docType=1
https://docs.open.alipay.com/277/106748/
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.ZketYD&treeId=338&articleId=106464&docType=1
https://docs.open.alipay.com/277/106748/
package com.baozun.store.util; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.HashMap; import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.baozun.store.constants.GucciAlipayConstants; /** * 花呗分期工具 * @author binrui.dong * 2017年7月25日 下午5:58:08 */ public class InstallmentUtil{ private static final Logger LOG = LoggerFactory.getLogger(InstallmentUtil.class); private static final BigDecimal ONE_HUNDRED = BigDecimal.valueOf(100); /** * 1、获取用户每期本金 * 2、获取用户每期手续费 * 3、获取用户每期总费用 * @param payAmount 总额 * @param periods 期数 * @return * <p>binrui.dong * <p>2017年7月25日 下午6:03:38 */ public static Map<String,BigDecimal> getInstallmentCost(BigDecimal payAmount, Integer periods){ Map<String,BigDecimal> map = new HashMap<String,BigDecimal>(); BigDecimal payAmountCent = payAmount.multiply(ONE_HUNDRED);//转化为分 BigDecimal totalFeeInDecimal = null; switch (periods) { case 3: totalFeeInDecimal = payAmountCent.setScale(2, RoundingMode.HALF_UP) .multiply(GucciAlipayConstants.HB_FQ_THREE_FEE_RATE).setScale(2, RoundingMode.HALF_UP); break; case 6: totalFeeInDecimal = payAmountCent.setScale(2, RoundingMode.HALF_UP) .multiply(GucciAlipayConstants.HB_FQ_SIX_FEE_RATE).setScale(2, RoundingMode.HALF_UP); break; case 12: totalFeeInDecimal = payAmountCent.setScale(2, RoundingMode.HALF_UP) .multiply(GucciAlipayConstants.HB_FQ_TWELVE_FEE_RATE).setScale(2, RoundingMode.HALF_UP); break; } map.put("allRateFee", totalFeeInDecimal.divide(ONE_HUNDRED,RoundingMode.HALF_EVEN).setScale(2, RoundingMode.HALF_EVEN)); map.put("allFee", payAmountCent.add(totalFeeInDecimal).divide(ONE_HUNDRED).setScale(2, RoundingMode.HALF_EVEN)); LOG.debug("总费用:" + map.get("allFee")); BigDecimal eachFee = map.get("allRateFee").setScale(2, RoundingMode.HALF_DOWN).divide(BigDecimal.valueOf(periods), RoundingMode.HALF_DOWN);//文档里是ROUND_DOWN map.put("eachFee", eachFee); LOG.debug("每期手续费:" + map.get("eachFee")); BigDecimal prinAndFee = map.get("allFee").setScale(2, RoundingMode.HALF_DOWN).divide(BigDecimal.valueOf(periods), RoundingMode.HALF_DOWN);//文档里是ROUND_DOWN map.put("prinAndFee", prinAndFee); LOG.debug("每期费用:" + map.get("prinAndFee")); map.put("periods", BigDecimal.valueOf(periods)); return map; } public static Map<String,BigDecimal> getInstallmentCost2(BigDecimal payAmount, Integer periods){ Map<String,BigDecimal> map = new HashMap<String,BigDecimal>(); BigDecimal payAmountCent = payAmount.multiply(ONE_HUNDRED);//转化为分 BigDecimal totalFeeInDecimal = null; switch (periods) { case 3: totalFeeInDecimal = payAmountCent.setScale(2, RoundingMode.HALF_UP) .multiply(new BigDecimal(0.023)).setScale(2, RoundingMode.HALF_UP); break; case 6: totalFeeInDecimal = payAmountCent.setScale(2, RoundingMode.HALF_UP) .multiply(new BigDecimal(0.045)).setScale(2, RoundingMode.HALF_UP); break; case 12: totalFeeInDecimal = payAmountCent.setScale(2, RoundingMode.HALF_UP) .multiply(new BigDecimal(0.075)).setScale(2, RoundingMode.HALF_UP); break; } map.put("allRateFee", totalFeeInDecimal.divide(ONE_HUNDRED,RoundingMode.HALF_EVEN).setScale(2, RoundingMode.HALF_EVEN)); map.put("allFee", payAmountCent.add(totalFeeInDecimal).divide(ONE_HUNDRED).setScale(2, RoundingMode.HALF_EVEN)); LOG.debug("总费用:" + map.get("allFee")); BigDecimal eachFee = map.get("allRateFee").setScale(2, RoundingMode.HALF_DOWN).divide(BigDecimal.valueOf(periods), RoundingMode.HALF_DOWN);//文档里是ROUND_DOWN map.put("eachFee", eachFee); LOG.debug("每期手续费:" + map.get("eachFee")); BigDecimal prinAndFee = map.get("allFee").setScale(2, RoundingMode.HALF_DOWN).divide(BigDecimal.valueOf(periods), RoundingMode.HALF_DOWN);//文档里是ROUND_DOWN map.put("prinAndFee", prinAndFee); LOG.debug("每期费用:" + map.get("prinAndFee")); map.put("periods", BigDecimal.valueOf(periods)); return map; } public static void main(String[] args){ System.err.println(getInstallmentCost2(new BigDecimal(1111.11), 3)); } }
发表评论
-
asiapay支付调用
2017-10-13 15:03 1740国际信用卡支付,官方有英文也有中文文档, 登录后可以看中文文档 ... -
银联unionpay取消订单与超时时间
2017-08-09 17:43 947unionpay官方api: https://open.uni ... -
H5商城在微信APP里支付
2017-08-04 08:36 771前言: jsapi支付方式,必须是关注公众号,后才能掉用微信支 ... -
微信公众号支付,获取openId
2017-08-01 20:33 6191. 获取code 1.1关注公众号后采用https://op ... -
促销计算价格
2017-07-31 17:03 391整单优惠的价格按照比例均摊到每一订单行价格 /** ... -
微信支付代码
2017-06-19 19:55 522支付成功后去再次验证支付状态 try { ... -
微信支付代码调试
2017-06-15 20:17 418支付必须的四个参数 /** appId(微信分配的公众账号 ... -
支付相关遇到问题解决
2017-06-02 14:53 514nunipay: 5100030 2017-06-02 ... -
支付相关
2017-05-06 17:11 422微信支付: https://pay.weixin.qq.com ...
相关推荐
支付宝花呗怎么查看还款流水 支付宝花呗查看还款流水方法.docx
支付宝花呗怎么还款 花呗手机还款流程.docx
支付宝花呗与信用卡对比.docx
输入商品总金额,自动计算花呗分期金额,3、6、9、12期
支付宝蚂蚁花呗产品营销策划方案 - .pdf
花呗计算器
附件里有这个程序和程序的源代码(C语言)。这个程序 会让你输入 多少元人民币,还有天数(一般是30天),这两个数值 输入完后你就可以得出利息 + 本金的值 (如果你只要求利息,那么你直接将得出的值与本金相减就...
iwebshop支付宝新版OPENAPI支付(PC、手机同时支持 ),支持花呗支付,订单原路退款支付宝新版OPENAPI支付(PC、手机同时支持 ),支持花呗支付,订单原路退款
花呗分期是蚂蚁金服推出的消费金融产品,用户在小程序支付时使用花呗分期支付,订单全额实时支付到商家支付宝账户中,用户分期偿还花呗。 产品特色 花呗分期作为一种消费金融产品,具有以下的产品特色:
八叔引擎之家_iwebshop支付宝openapi支付花呗支付插件.zip
有钱就是任性!支付宝“信用卡”花呗随便花.docx
数据挖掘在花呗审计上的应用.pdf
互联网金融企业资产证券化的实践——以蚂蚁花呗为例.pdf
然后通过SWOT模型对蚂蚁花呗发展的优势、劣势、机会与威胁进行案例分析,探讨“蚂蚁花呗”的有利发展现状和发展面临的约束条件和问题,从消费者层面,互联网消费金融机构和政府这三个层面进行总结;最后借鉴国外消费...
最新花呗借呗催款通告函委托催款函通用版WORD版式2021新版.docx
最新花呗借呗催款通告函催款函内容规范的模版DOC最新版.docx
基于“蚂蚁花呗”的网络消费对大学生的影响毕业论文
浅谈互联网金融的风险与防范——以蚂蚁花呗为例.pdf
互联网金融时代大学生网络分期消费行为研究——基于蚂蚁花呗、京东白条用户的深度调查.pdf
花呗”对西安高校大学生消费行为的影响调查-论文.zip