FundlogController.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request as Req;
  5. use Request;
  6. /**
  7. *
  8. */
  9. class FundlogController extends Controller {
  10. /**
  11. * @return 财务日志
  12. */
  13. function index(Req $req) {
  14. $request=array();
  15. $request['startime']=isset($req->startime)?trim($req->startime):trans('status.default_time.seven_day');
  16. $request['endtime'] = isset($req->endtime) ? trim($req->endtime) : trans('status.default_time.etime');
  17. $request['account_name'] = isset($req->account_name) ? trim($req->account_name) : null;
  18. $request['loss_name'] = isset($req->loss_name) ? trim($req->loss_name) : null;
  19. $request['agent_name'] = isset($req->agent_name) ? trim($req->agent_name) : null;
  20. $dt = \App\Lib\DataTable\DataTable::init();
  21. $dt->setDataSource('/admin/money/fundLog');
  22. $dt->setLang('money');
  23. $dt->setPriKey('account_identity');
  24. $dt->addColsFields('account_name', array('sort' => false, 'templet' => '#username'));
  25. $dt->addColsFields('sendmoney');
  26. $dt->addColsFields('savemoney');
  27. $dt->addColsFields('getmoney');
  28. $dt->addColsFields('winmoney', array('templet' => '#usergetmoney'));
  29. $dt->addColsFields('adminadd');
  30. $dt->addColsFields('adminpull');
  31. $dt->addColsFields('recharge_send');
  32. $dt->addColsFields('back_return');
  33. return view('admin.Fundlog/index', $dt->render($request));
  34. }
  35. /**
  36. * 单用户存/取/反水列表
  37. * [detail description]
  38. * @return [type] [description]
  39. */
  40. function usermoneyRecord() {
  41. $account_name = Request::has('account_name') ? Request::get('account_name') : '';
  42. $dt = \App\Lib\DataTable\DataTable::init();
  43. $dt->setDataSource('/admin/money/moneyList?account_name=' . $account_name . '&sureblur=精确');
  44. $dt->setLang('money');
  45. $dt->setPriKey('trade_id');
  46. $dt->addColsFields('id', array('width' => 100));
  47. $dt->addColsFields('account_name', array('width' => 140));
  48. $dt->addColsFields('money_time', array('width' => 200));
  49. $dt->addColsFields('systemuser_ordertype', array('sort' => false, 'width' => 160));
  50. $dt->addColsFields('money', array('width' => 120));
  51. $dt->addColsFields('reason', array('sort' => false));
  52. $dt->setToolBar(array('view'), array('width' => 80));
  53. return view('admin.view', $dt->render());
  54. }
  55. //查看存取反水
  56. function View(Req $req) {
  57. $order_id = $req->trade_id;
  58. if (empty($order_id)) {
  59. abort(404);
  60. }
  61. $money_db = new \App\Models\Money_details;
  62. $bank_db = new \App\Models\Account_bank;
  63. $data = $money_db->getOrderDetails($order_id, 3);
  64. $bank_data = $bank_db->getInfoByUid($data['account_identity']);
  65. $data['bank_name'] = isset($bank_data['bank_name']) ? $bank_data['bank_name'] : '';
  66. $data['bank_address'] = isset($bank_data['bank_address']) ? $bank_data['bank_address'] : '';
  67. $data['bank_number'] = isset($bank_data['bank_number']) ? $bank_data['bank_number'] : '';
  68. $data['name'] = isset($bank_data['account_name']) ? $bank_data['account_name'] : '';
  69. return view('admin.MoneyManage/moneyView', ['data' => $data]);
  70. }
  71. //获取按照类型统计
  72. function getCount(Req $req) {
  73. $startTime = $req->startTime;
  74. $endTime = $req->endTime;
  75. $type = $req->type;
  76. $res = $this->getSumMoney($startTime, $endTime, $type);
  77. return responseToJson($res);
  78. }
  79. //按照类型统计总金额
  80. function getSumMoney($where, $type = '') {
  81. $db = new \App\Models\Money_details;
  82. if ($type) {
  83. $where[] = array('trade_type', '=', $type);
  84. } else {
  85. //获取总存取反水金额
  86. return $db->getTotal($where);
  87. }
  88. //规定的类型总数
  89. return $db->sumMoney($where);
  90. }
  91. //入款汇总
  92. function getMoneySum($where, $type = '') {
  93. $db = new \App\Models\Money_details;
  94. $where = array();
  95. if ($type) {
  96. $where[] = array('trade_type', '=', $type);
  97. } else {
  98. //获取总存取反水金额
  99. return $db->getIntoTotal($where);
  100. }
  101. //规定的类型总数
  102. return $db->sumIntoMoney($where);
  103. }
  104. function getActive($where, $type) {
  105. $db = new \App\Models\Money_details;
  106. return $db->getActiveMoney($where, $type);
  107. }
  108. //统计总数
  109. function allTotal(Req $req) {
  110. $startTime = date('Y-m-d 00:00:00');
  111. $endTime = date('Y-m-d 23:59:59');
  112. $data = array();
  113. $where = $req->where;
  114. if (count($where) == 0) {
  115. $where[] = array('money_time', '>=', $startTime);
  116. $where[] = array('money_time', '<=', $endTime);
  117. }
  118. $data['totalMoney'] = $this->getSumMoney($where);
  119. $data['onlineRecharge'] = $this->getSumMoney($where, 6); //在线充值
  120. $data['backstageRecharge'] = $this->getSumMoney($where, 11); //后台充值
  121. $data['remit'] = $this->getSumMoney($where, 14); //14汇款
  122. $data['rechargePrize'] = $this->getSumMoney($where, 13); //13充值赠送
  123. //活动金额
  124. $data['active_cut_money'] = $this->getActive($where, 2); //活动扣除
  125. $data['active_add_money'] = $this->getActive($where, 1); //活动加款
  126. $data['active_money'] = $this->getSumMoney($where, 12); //总活动
  127. $data['back_water'] = $this->getSumMoney($where, 7); //反水
  128. $data['return_water'] = $this->getSumMoney($where, 8); //回水
  129. $data['take_money'] = $this->getSumMoney($where, 5); //5前台提现
  130. $data['cut_money'] = $this->getSumMoney($where, 9); //管理员扣款
  131. $data['intoTotalMoney'] = $data['onlineRecharge'] + $data['backstageRecharge'] + $data['remit']; //总入款扣除活动充值赠送
  132. $data['cut_total_money'] = $data['cut_money'] + $data['take_money']; //扣款总额扣除活动充值赠送
  133. $data['profit'] = $data['intoTotalMoney'] - $data['cut_total_money'];
  134. $data['all_save_money'] = $data['intoTotalMoney'] + $data['active_add_money'] + $data['rechargePrize'] + $data['back_water'] + $data['return_water']; //总存款
  135. $data['all_take_money'] = $data['take_money'] + $data['cut_money'] + $data['active_cut_money']; //总扣款
  136. return responseToJson($data);
  137. }
  138. }
  139. ?>