CommissionRate.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: tandunzhao
  5. * Date: 2017/11/17
  6. * Time: 下午4:34
  7. */
  8. namespace App\Modules\Finance\Models;
  9. use Illuminate\Database\Eloquent\Model;
  10. /**
  11. * Class CommissionRate 结算佣金
  12. * @package App\Modules\Finance\Models
  13. */
  14. class CommissionRate extends Model
  15. {
  16. protected $table = 'commission_rates';
  17. protected $fillable = ['distribution_channel_id', 'begin_amount', 'end_amount', 'rate'];
  18. /**
  19. * 根据渠道ID获取列表
  20. * @param $distribution_channel_id
  21. * @return mixed
  22. */
  23. static function getListByDistributionChannel($distribution_channel_id)
  24. {
  25. $result = self::where('distribution_channel_id', $distribution_channel_id)
  26. ->orderBy('begin_amount', 'asc')
  27. ->orderBy('end_amount', 'asc')
  28. ->orderBy('rate', 'asc')
  29. ->get();
  30. return $result;
  31. }
  32. /**
  33. * 申请提现
  34. * @param $data
  35. * @return bool
  36. */
  37. static function apply($data)
  38. {
  39. DB::beginTransaction();
  40. $cash = DB::table('withdraw_cash')->insert($data);
  41. $stat = DistributionChannelStat::decrDistributionChannelWithdrawAmount($data['distribution_channel_id'],$data['amount']);
  42. if($cash && $stat)
  43. {
  44. DB::commit();
  45. return $cash;
  46. }else{
  47. DB::rollBack();
  48. return false;
  49. }
  50. }
  51. }