ManualController.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. /**
  3. * 管理员手动充值记录
  4. */
  5. namespace app\admin\controller;
  6. use cmf\controller\AdminBaseController;
  7. use think\facade\Db;
  8. use think\db\Query;
  9. class ManualController extends AdminbaseController {
  10. //列表
  11. public function index(){
  12. $lists = Db::name("user_charge_admin")
  13. ->where(function (Query $query){
  14. $data = $this->request->param();
  15. $start_time=isset($data['start_time']) ? $data['start_time']: '';
  16. $end_time=isset($data['end_time']) ? $data['end_time']: '';
  17. if (!empty($start_time)) {
  18. $query->where('addtime', '>=' , strtotime($start_time));
  19. }
  20. if (!empty($end_time)) {
  21. $query->where('addtime', '<=' ,strtotime($end_time));
  22. }
  23. if (!empty($start_time) && !empty($end_time)) {
  24. $query->where('addtime', 'between' , [strtotime($start_time),strtotime($end_time)]);
  25. }
  26. $keyword=isset($data['keyword']) ? $data['keyword']: '';
  27. if (!empty($keyword)) {
  28. $query->where('touid', 'like', "%$keyword%");
  29. }
  30. })
  31. ->order('id desc')
  32. ->paginate(20);
  33. $coin = 0;
  34. foreach($lists as $k=>$v){
  35. $userinfo=Db::name("user")
  36. ->field("user_login,user_nickname")
  37. ->where("id='$v[touid]'")
  38. ->find();
  39. $v['user_login']=m_s($userinfo['user_login']);
  40. $v['user_nickname']=$userinfo['user_nickname'];
  41. $coin+=$v['coin'];
  42. $lists[$k]=$v;
  43. };
  44. //分页-->筛选条件参数
  45. $data = $this->request->param();
  46. $lists->appends($data);
  47. // 获取分页显示
  48. $page = $lists->render();
  49. $this->assign('lists', $lists);
  50. $this->assign('coin', $coin);
  51. $this->assign('page', $page);
  52. return $this->fetch();
  53. }
  54. public function add(){
  55. return $this->fetch();
  56. }
  57. public function add_post() {
  58. if($this->request->isPost()) {
  59. $data = $this->request->param();
  60. $user_login = (int)$data['user_login'];
  61. $coin = $data['coin'];
  62. if($user_login=='' || $coin==''){
  63. $this->error("信息不全,请填写完整");
  64. }
  65. if(!is_numeric($coin)){
  66. $this->error("充值点数必须为数字");
  67. }
  68. if(floor($coin)!=$coin){
  69. $this->error("充值点数必须为整数");
  70. }
  71. $user_info=Db::name("user")
  72. ->field("id,coin")
  73. ->where(["id"=>$user_login])
  74. ->find();
  75. if(!$user_info){
  76. $this->error("会员不存在,请更正");
  77. }
  78. $total=$user_info['coin']+$coin;
  79. if($total<0){
  80. $total=0;
  81. }
  82. $id=get_current_admin_id();
  83. $user=Db::name("user")->where(["id"=>$id])->find();
  84. $inster=[
  85. 'touid'=>$user_info['id'],
  86. 'coin'=>$coin,
  87. 'addtime'=>time(),
  88. 'admin'=>$user['user_login'],
  89. 'ip'=>get_client_ip(0,true),
  90. ];
  91. $result=Db::name("user_charge_admin")->insert($inster);
  92. if ($result) {
  93. Db::name("user")->where(["id"=>$user_login])->update(['coin'=>$total]);
  94. $this->success("充值成功!");
  95. } else {
  96. $this->error("充值失败!");
  97. }
  98. }
  99. }
  100. }