我的创作纪念日【2048】

机缘

2048,是计算机二进制世界里很奇妙的数字,在CSDN上创作的第六年,记录从事本行业的知识学习与总结,好记性不如烂笔头,或许写的东西不如大佬的文章,那么有深度,但自己也是在坚持,每周的目标,每年的目标,其实人生就是在定下目标和完成目标之间不断推进。
一篇文章记录的是一个知识点,一个错误处理,列出处理方案,或许能帮助到遇到同样问题的读者,这就是计算机行业开源和分享的意义,一直关注着CSDN上新资讯,保持对新技术的学习。

收获

2024年定下的目标,每周更新一篇博客,已更新到31篇,记录工作过程中或学习的知识点,方便查看。注册时间11年,从开始写博客,到现在收获了274位粉丝关注,有410次点赞1115次收藏,总阅读量43W,知识的分享是很重要的,在校园时期,老师说过一句话,给别人讲东西,别人听明白了,才能说明你真的是理解透了。是的,知识的学习,需要一万小时定律,就是要投入时间和精力,对某个技术背后原理的深入学习,理解和掌握,是一个很美好的过程。
在这里插入图片描述在这里插入图片描述

日常

创作已经成为每周工作与生活的一部分,日常会提前想要整理哪些内容,技术的更新太快,AI、大数据、人工智能,不能止步于自己的工作,新技术才是未来的发展方向,保持对其的关注。在有限的精力下,上班就要好好完成工作的任务,下班的时候,做一些自己感兴趣的东西,在本地搭建环境,实地用下新技术,有机会的话,将其应用到工作中。

成就

工作的内容偏向于数据处理,最近写的一篇是进行金额处理的金额拆分,有【电商之订单价税拆分实现方案】,思想是计算平均价格,向下取余,对每个商品明细进行平均计算,最后一个商品采用挤压方式,保证金额不会超。

代码实现如下所示,仅供参考。

static List<OrderDetail> SplitOrderDetailTest(Order order) {
    System.out.println("进入拆分SplitOrderDetail方法,入参order为:" + order);
    List<OrderDetail> detailList = order.getOrderDetailList();
    // 商品金额
    long amount = order.getPayAmount();
    // 税额
    long rateAmount = order.getRateAmount();
    // 明细数量
    long skuNum = order.getSkuNum();
    // 平均商品成本金额,向下取整
    long aveAmount = (long) Math.floor(amount / skuNum);
    // 平均商品税额金额,向下取整
    long aveRateAmount = (long) Math.floor(rateAmount / skuNum);
    // 平均商品不含税金额【平均商品金额-平均商品税额金额】
    long aveNoRateAmount = aveAmount - aveRateAmount;
    System.out
            .println("计算完毕的rateAmount为:" + rateAmount + ",amount为:" + amount + ",skuNum为:" + skuNum + ",aveAmount为"
                    + aveAmount + ",aveRateAmount为:" + aveRateAmount + ",aveNoRateAmount为:" + aveNoRateAmount);
    // 累计拆分完 金额
    long detailSumAmount = 0l;
    // 累计拆分完 税额
    long rateSumAmount = 0l;
    // 累计拆分完 不含税金额
    long taxedSumAmount = 0l;
    System.out.println("当前detailList.size()为:" + detailList.size());
    for (int i=0; i < detailList.size()-1;i++) {
        System.out.println("当前遍历的detail为:" + JSON.toJSONString(detailList.get(i)));
        OrderDetail orderFinallyDetail = new OrderDetail();
        BeanUtils.copyProperties(detailList.get(i),orderFinallyDetail);

        if ( i < detailList.size()-1) {
            System.out.println("进入循环内:" + JSON.toJSONString(i));
            // 拆分完 金额【平均金额*商品数量】
            long detailAmount = aveAmount * detailList.get(i).getSkuNum();
            detailSumAmount = detailSumAmount + detailAmount;
            System.out.println("计算拆分完的金额detailAmount为:" + detailAmount + ",detailSumAmount为" + detailSumAmount);

            // 拆分完 税额【平均税额*商品数量】
            long rateDetailAmount = aveRateAmount * detailList.get(i).getSkuNum();
            rateSumAmount = rateSumAmount + rateDetailAmount;
            System.out.println("计算税额的rateDetailAmount为:" + rateDetailAmount + ",rateSumAmount为" + rateSumAmount);
            orderFinallyDetail.setRateAmount(rateDetailAmount);

            // 不含税金额【本成本拆分完金额 - 本成本拆分完税额】
            long taxedAmount = detailAmount - rateDetailAmount;
            taxedSumAmount = taxedSumAmount + taxedAmount;
            System.out.println("计算不含税税额的taxedAmount为:" + taxedAmount + ",taxedSumAmount为" + taxedSumAmount);
            orderFinallyDetail.setTaxtedAmount(taxedAmount);
        }
        // list末位采用倒挤方式取值
        else {

            // 末位税额【总税额-累计扣除的税额】
            long taxAmount = rateAmount - rateSumAmount;
            System.out.println("计算末位倒挤税额的taxAmount为:" + taxAmount);
            orderFinallyDetail.setRateAmount(taxAmount);

            // 末位不含税金额【(总金额-税额)-累计扣除的不含税金额】
            long taxedAmount = (amount - rateAmount) - taxedSumAmount;
            System.out.println("计算末位倒挤不含税税额的taxedAmount为:" + taxedAmount);
            orderFinallyDetail.setTaxtedAmount(taxedAmount);

        }
        System.out.println("保存的orderFinallyDetail的信息为:" + JSON.toJSONString(orderFinallyDetail));
        detailList.add(orderFinallyDetail);
    }
    return detailList;
}

憧憬

2024下半年,技术学习永不止步,在保证工作实际需要的同时,继续学习AI,人工智能相关的技术,在尝试自媒体的方式,将事情说明白确实不易,羡慕那些把复杂问题简单化的人,将深奥的问题,具体化,让普通人能明白,这才是大智慧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值