spring进阶_两个四阶矩阵乘法计算[通俗易懂]

spring进阶_两个四阶矩阵乘法计算[通俗易懂]importjava.math.BigDecimal;importcn.hutool.core.lang.Console;importcn.hutool.core.thread.ConcurrencyTester;importcn.hutool.core.thread.ThreadUt

大家好,欢迎来到IT知识分享网。

import java.math.BigDecimal;

import cn.hutool.core.lang.Console;
import cn.hutool.core.thread.ConcurrencyTester;
import cn.hutool.core.thread.ThreadUtil;

/**
 * 根据剩阶计算出当前用户的单日提现额度
 */
public class LevelUtil {
	public static void main(String[] args) {
		ConcurrencyTester tester = ThreadUtil.concurrencyTest(1, () -> {
			// 测试的逻辑内容
			for (int i = 0; i <= 65000; i += 500) {
				BigDecimal[] data = LevelUtil.level(BigDecimal.valueOf(i));
				ThreadUtil.sleep(200);
				Console.log("充值金额:{},等级:{},提现额度: {}", i, data[0], data[1]);
			}
		});
		// 获取总的执行时间,单位毫秒
		Console.log(tester.getInterval());
	}

	// 每个等级,每次提现的额度配置
	private final static BigDecimal[] levels = { // 提现额度升级
			BigDecimal.valueOf(10), // level-1
			BigDecimal.valueOf(100), // level-2
			BigDecimal.valueOf(500), // level-3
			BigDecimal.valueOf(800), // level-4
			BigDecimal.valueOf(1200), // level-5
			BigDecimal.valueOf(2000), // level-6
			BigDecimal.valueOf(2800), // level-7
			BigDecimal.valueOf(3200), // level-8
			BigDecimal.valueOf(3700), // level-9
			BigDecimal.valueOf(4000), // level-10
			BigDecimal.valueOf(4500), // level-11
			BigDecimal.valueOf(5500), // level-12
			BigDecimal.valueOf(6000), // level-13
			BigDecimal.valueOf(6500), // level-14
			BigDecimal.valueOf(7500), // level-15
			BigDecimal.valueOf(8000), // level-16
			BigDecimal.valueOf(8500), // level-17
			BigDecimal.valueOf(9000), // level-18
			BigDecimal.valueOf(20000), // level-19
			BigDecimal.valueOf(30000), // level-20
			BigDecimal.valueOf(40000), // level-21
			BigDecimal.valueOf(60000)// level-22
	};
	// 充值金额*倍数=能提现额度
	private static final BigDecimal MULTIPLE = BigDecimal.valueOf(5);

	public static BigDecimal[] level(BigDecimal currency) {
		int currentlevel = 0;
		for (BigDecimal quota : levels) {
			if (currency.compareTo(quota) > -1) {
				currentlevel++;
			}
		}
		BigDecimal range = levels[currentlevel];// 当前充值额度范围
		if (currentlevel < levels.length) {
			return new BigDecimal[] { BigDecimal.valueOf(currentlevel), range.multiply(MULTIPLE) };
		}
		return new BigDecimal[] { BigDecimal.valueOf(currentlevel), range.multiply(MULTIPLE) };
	}
}

  

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/29042.html

(0)
上一篇 2023-09-26 16:33
下一篇 2023-09-26 18:33

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信