zoukankan      html  css  js  c++  java
  • 满减的问题的

    公司项目叫我做一个功能,临时优惠就是满多少减多少。

    价格区间要动态增加删除,如图所示

    忽略那个标题,因为今天是冬至,我胡乱写的。由于数据是动态,我直接序列号json存进去。实在太方便。

    接着是前端ajax获取优惠哪个区间的问题?刚开始有点头疼,想这个算法改怎么写。主要是这个区间并不是固定,是由客户自己添加的。为什么写什么算法,弄一个数组存放最大优惠价格区间不就行了。

    封装个方法:参数是价格和公司的id,如果成功则返回优惠后的价格,否则返回0. 本来想直接返回金额,但是就不知道价格有没有优惠

    代码例子:

    // 抵扣多少优惠
    	public function calcCompanyDiscount($money, $companyid){
            if(empty($companyid) || empty($money)){
                return 0;
            }
            global $_W;
            if (empty($uniacid)) {
                $uniacid = $_W['MainUniacid'];
            }
            $data = $this->getCompanyDiscount($companyid);
            if($data){
                $now = time();
                $max_arr = [];
                if($data['data_status'] == 1 && $now >= strtotime($data['data_activityTime']['start']) && $now < strtotime($data['data_activityTime']['end']) ){
                    if($data['data_discountMoney'] && is_array($data['data_discountMoney'])){
                        foreach ($data['data_discountMoney'] as $k=>$v){
                            if($money >= $v['fullMoney']){
                                $max_arr['fullMoney'] = $v['fullMoney'];
                                $max_arr['minusMoney'] = $v['minusMoney'];
                                $max_arr['discountMoney'] = $v['discountMoney'];
                            }
                        }
                    }
                    if(!empty($max_arr) && is_array($max_arr)){
                        if($money >= $max_arr['fullMoney']){
                            $money  -= $max_arr['minusMoney'];
                            if($max_arr['discountMoney'] >= 1 && $max_arr['discountMoney'] <= 9){
                                $money = $money * ($max_arr['discountMoney'] / 10);
                            }
                            return $money;
                        }
                    }
                }
    		}else{
            	return 0;
    		}
    	}
    

      

  • 相关阅读:
    DELL(linux 系统里系统掉盘)(阵列Foreign)命令行里重做阵列
    MegaCli 管理raid
    Linux下DNS服务器
    Linux 系统用户密码长度以及复杂度进行限制 PAM
    Linux 用户密码有效期
    Linux服务器系统安全
    整理sql数据
    简单的shell脚本-程序启停
    spring 获取bean的方法
    git 使用squid设置http代理
  • 原文地址:https://www.cnblogs.com/lzy007/p/8085360.html
Copyright © 2011-2022 走看看