LiquidatedStat.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: tandunzhao
  5. * Date: 2017/12/7
  6. * Time: 上午9:50
  7. */
  8. namespace App\Modules\Finance\Models;
  9. use Illuminate\Database\Eloquent\Model;
  10. /**
  11. * 清算汇总表
  12. * Class LiquidatedStat
  13. * @package App\Modules\Finance\Models
  14. */
  15. class LiquidatedStat extends Model
  16. {
  17. protected $table = 'liquidated_stats';
  18. protected $fillable = ['amount', 'account_balance_amount', 'account_balance_amount_day', 'pay_merchant_source'];
  19. /**
  20. * 添加更新清算汇总
  21. * @param $amount 添加正数,减少负数
  22. * @param $pay_merchant_source
  23. * @return mixed
  24. */
  25. public static function createOrUpdate($pay_merchant_source, $amount) {
  26. $liquidatedStat = self::where('pay_merchant_source', $pay_merchant_source)->first();
  27. if($pay_merchant_source == config('common.tonglianpay') || $pay_merchant_source == config('common.officialpay')) {
  28. //官方,通联,每天自动结算,不用清算数据
  29. $amount = 0;
  30. }
  31. if(empty($liquidatedStat)) {
  32. $liquidatedStat['amount'] = $amount;
  33. $liquidatedStat['pay_merchant_source'] = $pay_merchant_source;
  34. $liquidatedStat = LiquidatedStat::create($liquidatedStat);
  35. } else {
  36. $liquidatedStat['amount'] = (float)$liquidatedStat['amount'] + (float)$amount;
  37. $liquidatedStat->save();
  38. }
  39. return $liquidatedStat;
  40. }
  41. /**
  42. * 更新支付渠道余额
  43. * @param $pay_merchant_source
  44. * @param $amount
  45. * @return mixed
  46. */
  47. public static function updateAccountBalanceAmount($pay_merchant_source, $amount) {
  48. $liquidatedStat = self::where('pay_merchant_source', $pay_merchant_source)->first();
  49. print_r('$liquidatedStat:'.json_encode($liquidatedStat));
  50. if(!empty($liquidatedStat)) {
  51. $hh = date('H');
  52. $liquidatedStat->account_balance_amount_day = (float)$amount;
  53. $liquidatedStat->account_balance_amount = (float)$amount;
  54. print_r('account_balance_amount_day:'.$liquidatedStat->account_balance_amount);
  55. $liquidatedStat->save();
  56. print_r('pay_source:'.$pay_merchant_source);
  57. $res = self::where('pay_merchant_source', $pay_merchant_source)->update(['account_balance_amount_day'=>$amount,'account_balance_amount'=>$amount]);
  58. print_r('---:'.$res);
  59. }
  60. return $liquidatedStat;
  61. }
  62. /**
  63. * 更新支付渠道余额当天
  64. * @param $pay_merchant_source
  65. * @param $amount
  66. * @return mixed
  67. */
  68. public static function updateAccountBalanceAmountDay($pay_merchant_source, $amount) {
  69. $liquidatedStat = self::where('pay_merchant_source', $pay_merchant_source)->first();
  70. if(!empty($liquidatedStat)) {
  71. $liquidatedStat['account_balance_amount_day'] = $liquidatedStat['account_balance_amount_day'] + (float)$amount;
  72. $liquidatedStat->save();
  73. }
  74. return $liquidatedStat;
  75. }
  76. /**
  77. * 清算汇总列表
  78. * @return mixed
  79. */
  80. public static function getLiquidatedStatList() {
  81. $search_object = LiquidatedStat::select([
  82. 'liquidated_stats.id',
  83. 'liquidated_stats.amount',
  84. 'liquidated_stats.account_balance_amount',
  85. 'liquidated_stats.pay_merchant_source'
  86. ]);
  87. return $search_object->get();
  88. }
  89. /**
  90. * 根据支付通道获取
  91. * @param $pay_merchant_source
  92. * @return mixed
  93. */
  94. public static function getLiquidatedStatSingleBySource($pay_merchant_source) {
  95. $liquidatedStat = self::where('pay_merchant_source', $pay_merchant_source)->first();
  96. return $liquidatedStat;
  97. }
  98. }