CommissionSteps.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | 萤火商城系统 [ 致力于通过产品和服务,帮助商家高效化开拓市场 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2017~2021 https://www.yiovo.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed 这不是一个自由软件,不允许对程序代码以任何形式任何目的的再发行
  8. // +----------------------------------------------------------------------
  9. // | Author: 萤火科技 <admin@yiovo.com>
  10. // +----------------------------------------------------------------------
  11. declare (strict_types = 1);
  12. namespace app\console\model\user;
  13. use app\common\model\user\CommissionSteps as CommissionsStepsModel;
  14. /**
  15. * 待结算分佣明细模型
  16. * Class Store
  17. * @package app\store\model
  18. */
  19. class CommissionSteps extends CommissionsStepsModel
  20. {
  21. /**
  22. * 根据销售额获取奖励金比例
  23. * @param $shopId
  24. * @param $role
  25. * @param $saleVolume
  26. * @return int|mixed
  27. * @throws \think\db\exception\DataNotFoundException
  28. * @throws \think\db\exception\DbException
  29. * @throws \think\db\exception\ModelNotFoundException
  30. */
  31. public static function getShopRoleSteps($shopId,$role,$saleVolume){
  32. $data = self::where('shop_id',$shopId)->where('role',$role)->order('sale_amount','desc')
  33. ->field('sale_amount,bonus_ratio,step')->select();
  34. $bonusRatios = $data?$data->toArray():[];
  35. $bonusRate = ['bonus_ratio'=>0,'bonus_ladder'=>0];
  36. if (count($bonusRatios)){
  37. foreach ($bonusRatios as $ratio){
  38. if($saleVolume >= $ratio['sale_amount']){
  39. $bonusRate = ['bonus_ratio'=>$ratio['bonus_ratio'],'bonus_ladder'=>$ratio['step']];
  40. break;
  41. }
  42. }
  43. }
  44. return $bonusRate;
  45. }
  46. }