当前位置: 首页 > news >正文

springboot vue 开源 会员收银系统 (12)购物车关联服务人员 订单计算提成

前言

完整版演示 http://120.26.95.195/
开发版演示 http://120.26.95.195:8889/

在之前的开发进程中,我们完成订单的挂单和取单功能,今天我们完成购物车关联服务人员,用户计算门店服务人员的提成。

1.商品关联服务人员
服务人员选择
服务人员可以选择 一个 或者 多个
当选择多个时候 会按照 实际支付金额进行平均分 例:某个商品 X 会员折后价 X 数量 为总业绩 单个服务人员业绩 除以 服务人员个数
商品的提成 常见的有 按照固定金额 或者 按一定的比例
商品提成修改
结算时根据设置的提成方式进行计算
关键代码

//该条目有服务人员List<ServerVo> serverList = productDetail.getServerList();if(CollectionUtil.isNotEmpty(serverList)) {//如果是固定金额 固定金额除以人数 获取固定金额//如果是比例 计算出比例后提成 获取固定金额//业绩和提成均平均分//总提成BigDecimal totalPushMoney = BigDecimal.ZERO;//总业绩 为订单实付金额BigDecimal totalGradeMoney = sellDetail.getTotalRealAmount();//固定金额的话if (product.getPushType().equals(PUSH_FIXED)) {totalPushMoney = BigDecimalUtil.mul(product.getPushAmount(),new BigDecimal(sellDetail.getCount()));}//按比例if (product.getPushType().equals(PUSH_SCALE)) {//提成额 先转换为百分数BigDecimal pushPercent = BigDecimalUtil.div(product.getPushPercent(), new BigDecimal("100"));//折后价*百分数totalPushMoney = BigDecimalUtil.mul(totalGradeMoney, pushPercent);}//平均分BigDecimal pushMoney = BigDecimalUtil.div(totalPushMoney, new BigDecimal(serverList.size()));BigDecimal gradeMoney = BigDecimalUtil.div(totalGradeMoney, new BigDecimal(serverList.size()));//设置服务人员serverList.stream().forEach(server -> {SellDetailServer sellDetailServer = new SellDetailServer();sellDetailServer.setSellId(sell.getSellId());sellDetailServer.setSellDetailId(sellDetail.getSellDetailId());sellDetailServer.setServerId(server.getServerId());sellDetailServer.setServerName(server.getServerName());sellDetailServer.setServerPushMoney(pushMoney);sellDetailServer.setServerGrade(gradeMoney);sellDetailServerService.save(sellDetailServer);});

2.卡项的提成
卡项的提成跟 商品类似 仅计算 比例分成即可
续卡时查询当时开卡的 提成比例 计入即可
订单查询时将细单对应的服务人员查出
商品订单
开卡订单

服务人员业绩提成完成,后续我们完成订单的多维度统计功能。

代码地址
https://gitee.com/ddeatrr/memberShop

http://www.lryc.cn/news/493925.html

相关文章:

  • FFmpeg 推流给 FreeSWITCH
  • .npmrc文件的用途
  • C++游戏开发入门:如何从零开始实现自己的游戏项目?
  • Redis设计与实现第16章 -- Sentinel 总结1(初始化、主从服务器获取信息、发送信息、接收信息)
  • Windows10+VirtualBox+Ubuntu:安装虚拟机VirtualBox,虚拟机中安装Ubuntu
  • Torchtune在AMD GPU上的使用指南:利用多GPU能力进行LLM微调与扩展
  • C底层 函数栈帧
  • 【模块一】kubernetes容器编排进阶业务容器化案例
  • 可视化建模以及UML期末复习篇----相关软件安装
  • Appflyer记录卸载事件
  • JDK17 AbstractQueuedSynchronizer 二 条件队列
  • 8 设计模式之简单工厂模式
  • 计算机的错误计算(一百六十九)
  • Android 图形系统之三:SurfaceControl
  • Laravel8.5+微信小程序实现京东商城秒杀方案
  • Makefile 入门指南:构建自动化编译流程
  • C#热更原理与HybridCLR
  • 里氏替换原则:Java面向对象设计的基石
  • 恒创科技:服务器操作系统和客户端操作系统之间的区别
  • 做异端中的异端 -- Emacs裸奔之路4: 你不需要IDE
  • Unity3d C# 摄像头检测敌方单位(目标层级)并在画面中标注(含源码)
  • js 16进制加密
  • 性能测试之压测
  • CentOS修改yum.repos.d源,避免“Could not resolve host: mirrorlist.centos.org”错误
  • Python 三目运算实战详解
  • JVM 性能调优 -- CMS 垃圾回收器 GC 日志分析【Full GC】
  • PS的学习
  • 数据集搜集器(百科)008
  • Java学习,反射
  • 数据结构 (18)数的定义与基本术语