CompanyChargingRefund.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php namespace App\Models;
  2. use Illuminate\Database\Eloquent\Factories\HasFactory;
  3. use Illuminate\Database\Eloquent\Model;
  4. use App\Models\OpenWork\Corp\AuthCorp as AuthCorpModel;
  5. use App\Models\Manager\ActivityAmountRecord;
  6. /**
  7. *用户模型
  8. *
  9. */
  10. class CompanyChargingRefund extends Model
  11. {
  12. use HasFactory;
  13. // 与模型关联的表名
  14. protected $table = 'company_charging_refund';
  15. // 是否主动维护时间戳
  16. public $timestamps = false;
  17. protected $connection = 'mysql';
  18. // 定义时间戳字段名
  19. // const CREATED_AT = 'insert_time';
  20. // const UPDATED_AT = 'update_time';
  21. /**
  22. * 添加数据
  23. *
  24. */
  25. public function add($data)
  26. {
  27. // 时间
  28. $data['insert_time'] = time();
  29. $data['update_time'] = time();
  30. // 写入数据表
  31. $id = $this->query()->insertGetId($data);
  32. // 如果操作失败
  33. if( !$id ) return 0;
  34. // 返回结果
  35. return $id;
  36. }
  37. /**
  38. * 添加数据
  39. *
  40. */
  41. public function edit($id,$data)
  42. {
  43. // 更新时间
  44. $data['update_time'] = time();
  45. // 写入数据表
  46. $result = $this->query()->where(['id'=>$id])->update($data);
  47. // 如果操作失败
  48. if( !$result ) return 0;
  49. // 返回结果
  50. return $id;
  51. }
  52. /**
  53. * 获取账户数据
  54. *
  55. */
  56. public function get_data($company_id)
  57. {
  58. //获取总额
  59. $total_amount = $this->query()->where([['company_id','=',$company_id],['status','=',3]])->sum('amount');
  60. $ActivityAmountRecord = new ActivityAmountRecord();
  61. $budget_amount = $ActivityAmountRecord::query()->where([['company_id','=',$company_id],['status','=',0]])->sum('budget_amount');
  62. $use_amount = $ActivityAmountRecord::query()->where([['company_id','=',$company_id],['status','=',1]])->sum('use_amount');
  63. $data['total_amount'] = $total_amount;
  64. $data['available_amount'] = bcsub(bcsub($total_amount , $use_amount,2) , $budget_amount,2);
  65. // 如果没有数据
  66. if( !$data ) return [];
  67. // 返回结果
  68. return $data;
  69. }
  70. }