WagentController.php 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request as Req;
  5. use Illuminate\Support\Facades\DB;
  6. use App\Models;
  7. use Request;
  8. /**
  9. *代理管理
  10. */
  11. class WagentController extends Controller {
  12. //代理列表
  13. function index(Req $req) {
  14. $request=array();
  15. $request['home_team'] = isset($req->home_team) ? trim($req->home_team) : null;
  16. $request['status'] = isset($req->status) ? trim($req->status) : '-1';
  17. $request['sureblurs'] = isset($req->sureblurs) ? $req->sureblurs : 'on';
  18. $request['star_time'] = isset($req->star_time) ? trim($req->star_time) :trans('status.default_time.zt_day_three') ;
  19. $request['end_time'] = isset($req->end_time) ? trim($req->end_time) : trans('status.default_time.etime');
  20. $dt = \App\Lib\DataTable\DataTable::init();
  21. $dt->setDataSource('/admin/wagent/info');
  22. $dt->setLang('wagent');
  23. $dt->addColsFields('agent_name', array('templet' => '#newtime', 'sort' => false, 'width' => 80));
  24. $dt->addColsFields('agent_key_secret', array('templet' => '#agent_key_secret', 'sort' => false, 'width' => 265));
  25. $dt->addColsFields('create_time', array('templet' => '#totime', 'sort' => false, 'width' => 120));
  26. $dt->addColsFields('frozen_money', array('templet' => '#frozen_money', 'sort' => false, 'width' => 120));
  27. $dt->addColsFields('money', array('templet' => '#totime', 'sort' => false, 'width' => 80));
  28. $dt->addColsFields('zjrecord_xxrecord', array('templet' => '#zjrecord_xxrecord', 'sort' => false, 'width' => 180));
  29. if (checkRriv('/admin/wagent/edit')) {
  30. $arr[] = 'edit';
  31. }
  32. $dt->setToolBar($arr, array('width' => 100));
  33. $dt->enableCheckBox();
  34. return view('admin.wagent/index', $dt->render($request));
  35. }
  36. //代理用户资金纪录
  37. function zjrecord(Req $req){
  38. $request=array();
  39. $request['home_team'] = isset($req->home_team) ? trim($req->home_team) : null;
  40. $request['status'] = isset($req->status) ? trim($req->status) : '-1';
  41. $request['sureblurs'] = isset($req->sureblurs) ? $req->sureblurs : 'on';
  42. $request['star_time'] = isset($req->star_time) ? trim($req->star_time) :trans('status.default_time.seven_day') ;
  43. $request['end_time'] = isset($req->end_time) ? trim($req->end_time) : trans('status.default_time.etime');
  44. $dt = \App\Lib\DataTable\DataTable::init();
  45. $dt->setDataSource('/admin/wagent/zjrecordinfo');
  46. $dt->setLang('wagent');
  47. $dt->addColsFields('agent_name', array('templet' => '#newtime', 'sort' => false, 'width' => 80));
  48. $dt->addColsFields('ordernumber', array('templet' => '#newtime', 'sort' => false, 'width' => 80));
  49. $dt->addColsFields('credit', array('templet' => '#newtime', 'sort' => false, 'width' => 80));
  50. $dt->addColsFields('agent_money_before', array('templet' => '#newtime', 'sort' => false, 'width' => 100));
  51. $dt->addColsFields('agent_money_after', array('templet' => '#newtime', 'sort' => false, 'width' => 100));
  52. $dt->enableCheckBox();
  53. return view('admin.wagent/zjrecord', $dt->render($request));
  54. }
  55. function zjrecordinfo(){
  56. $page = Request::has('page') ? Request::get('page') : '';
  57. $list = Request::has('limit') ? Request::get('limit') : 10;
  58. $home_team = Request::has('home_team') ? Request::get('home_team') : '';
  59. $sureblur = Request::has('sureblurs') ? Request::get('sureblurs') : 'off';
  60. $star_time = Request::get('star_time') ? Request::get('star_time').' 00:00:00' : '';
  61. $end_time = Request::get('end_time') ? Request::get('end_time').' 23:59:59' : '';
  62. $where = array();
  63. if (!empty($home_team)) {
  64. if (empty($sureblur) || $sureblur == 'off') {
  65. $where[] = array('wagent_log.agent_name', 'like', '%' . $home_team . '%');
  66. } else {
  67. $where[] = array('wagent_log.agent_name', '=', $home_team);
  68. }
  69. }
  70. $newapp = new \App\Models\Wagentlog();
  71. $data = $newapp->wagentloglist($list, $page, $where);
  72. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  73. }
  74. //代理用户客户资金纪录
  75. function xxrecord(Req $req){
  76. $request=array();
  77. $request['home_team'] = isset($req->home_team) ? trim($req->home_team) : null;
  78. $request['status'] = isset($req->status) ? trim($req->status) : '-1';
  79. $request['sureblurs'] = isset($req->sureblurs) ? $req->sureblurs : 'on';
  80. $request['star_time'] = isset($req->star_time) ? trim($req->star_time) :trans('status.default_time.seven_day') ;
  81. $request['end_time'] = isset($req->end_time) ? trim($req->end_time) : trans('status.default_time.etime');
  82. $dt = \App\Lib\DataTable\DataTable::init();
  83. $dt->setDataSource('/admin/wagent/xxrecordinfo');
  84. $dt->setLang('wagent');
  85. $dt->addColsFields('ordernumber', array('templet' => '#newtime', 'sort' => false, 'width' => 300));
  86. $dt->addColsFields('tradeamount', array('templet' => '#newtime', 'sort' => false, 'width' => 80));
  87. $dt->addColsFields('blance', array('templet' => '#newtime', 'sort' => false, 'width' => 80));
  88. $dt->addColsFields('addtime', array('templet' => '#newtime', 'sort' => false, 'width' => 160));
  89. $dt->addColsFields('agent_name', array('templet' => '#newtime', 'sort' => false, 'width' => 80));
  90. $dt->enableCheckBox();
  91. return view('admin.wagent/xxrecord', $dt->render($request));
  92. }
  93. function xxrecordinfo(){
  94. $page = Request::has('page') ? Request::get('page') : '';
  95. $list = Request::has('limit') ? Request::get('limit') : 10;
  96. $home_team = Request::has('home_team') ? Request::get('home_team') : '';
  97. $sureblur = Request::has('sureblurs') ? Request::get('sureblurs') : 'off';
  98. $star_time = Request::get('star_time') ? Request::get('star_time').' 00:00:00' : '';
  99. $end_time = Request::get('end_time') ? Request::get('end_time').' 23:59:59' : '';
  100. $where = array();
  101. if (!empty($home_team)) {
  102. if (empty($sureblur) || $sureblur == 'off') {
  103. $where[] = array('money_transfer.agent_name', 'like', '%' . $home_team . '%');
  104. } else {
  105. $where[] = array('money_transfer.agent_name', '=', $home_team);
  106. }
  107. }
  108. $newapp = new \App\Models\Moneytransfer();
  109. $data = $newapp->moneytransferlist($list, $page, $where);
  110. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  111. }
  112. function info(){
  113. $page = Request::has('page') ? Request::get('page') : '';
  114. $list = Request::has('limit') ? Request::get('limit') : 10;
  115. $home_team = Request::has('home_team') ? Request::get('home_team') : '';
  116. $sureblur = Request::has('sureblurs') ? Request::get('sureblurs') : 'off';
  117. $star_time = Request::get('star_time') ? Request::get('star_time').' 00:00:00' : '';
  118. $end_time = Request::get('end_time') ? Request::get('end_time').' 23:59:59' : '';
  119. $where = array();
  120. if (!empty($home_team)) {
  121. if (empty($sureblur) || $sureblur == 'off') {
  122. $where[] = array('wagent.agent_name', 'like', '%' . $home_team . '%');
  123. } else {
  124. $where[] = array('wagent.agent_name', '=', $home_team);
  125. }
  126. }
  127. //追加时间范围条件
  128. if (!empty($star_time)) {
  129. $star_time = date('Y-m-d H:i:s', strtotime($star_time));
  130. $where[] = array('create_time', '>=', $star_time);
  131. }
  132. if (!empty($end_time)) {
  133. $end_time = date('Y-m-d H:i:s', strtotime($end_time));
  134. $where[] = array('create_time', '<=', $end_time);
  135. }
  136. $newapp = new \App\Models\Wagent();
  137. $data = $newapp->wagentlist($list, $page, $where);
  138. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  139. }
  140. function edit(Req $req) {
  141. $id = $req->id;
  142. if (intval($id) < 1) {
  143. return -1;
  144. }
  145. if (!$req->isMethod('post')) {
  146. $data = \App\Models\Wagent::where('id', $id)->first();
  147. if (!$data) {
  148. return -2;
  149. }
  150. $data = $data->toArray();
  151. return view('admin.wagent/edit', $data);
  152. } else {
  153. $newapp = new \App\Models\Wagentlog();
  154. $model = \App\Models\Wagent::where('id', $id)->first();
  155. $newapp->agent_money_before = $model['money'];//交易前金额
  156. $upmoney = $req->input('upmoney');
  157. $type = $req->input('type');
  158. if($type==1){
  159. $model->money = $model['money']+$upmoney;
  160. }
  161. if($type==2){
  162. if($model['money']>=$upmoney){
  163. $model->money = $model['money']-$upmoney;
  164. }
  165. }
  166. $model->status = $req->input('status');
  167. $model->save();
  168. //资金纪录日志
  169. $newapp->agent_name = $model['agent_name'];//代理名称
  170. $newapp->account_identity = 0;//默认值
  171. $newapp->ordernumber = 'ST'.date("Ymdhis").mt_rand(100000, 999999);//订单号
  172. $newapp->credit = $upmoney;//改变金额
  173. $newapp->agent_money_after = $model->money;//交易后金额
  174. $newapp->uid = session('adminInfo.admin_id');//操作员id
  175. $newapp->save();
  176. return responseToJson(1);
  177. }
  178. }
  179. function add(Req $req) {
  180. if (!$req->isMethod('post')) {
  181. $lange = trans('menu');
  182. return view('admin.wagent/add');
  183. } else {
  184. $agent_name = trim($req->input('agent_name'));//唯一代理名称
  185. if(!preg_match('/^(\w){4,12}$/',$agent_name)) {
  186. return false;
  187. }
  188. $model = new \App\Models\Wagent();
  189. $only = $model->onlywagent($agent_name);
  190. if($only==1){
  191. $model->agent_name = $agent_name;//唯一代理名称
  192. $model->money = trim($req->input('money'));
  193. $model->frozen_money = trim($req->input('frozen_money'));
  194. $model->agent_key = md5($this->randomnum(6));
  195. $model->auth_expire = time();
  196. $model->agent_secret = md5($this->randomnum(6));
  197. $model->create_time = date("Y-m-d");
  198. $model->agent_pre = $agent_name.'_';//唯一代理用户前缀
  199. $model->status = trim($req->input('status'));
  200. }
  201. $model->save();
  202. return responseToJson(1);
  203. }
  204. }
  205. //随机数
  206. function randomnum($num){
  207. $str='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
  208. $randStr = str_shuffle($str);//打乱字符串
  209. $rands= substr($randStr,0,$num);
  210. return $rands;
  211. }
  212. }