ShopcashController.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <?php
  2. /**
  3. * 店铺余额提现
  4. */
  5. namespace app\admin\controller;
  6. use cmf\controller\AdminBaseController;
  7. use think\facade\Db;
  8. class ShopcashController extends AdminbaseController {
  9. protected function getStatus($k=''){
  10. $status=array(
  11. '0'=>'未处理',
  12. '1'=>'提现成功',
  13. '2'=>'拒绝提现',
  14. );
  15. if($k===''){
  16. return $status;
  17. }
  18. return isset($status[$k]) ? $status[$k]: '';
  19. }
  20. protected function getTypes($k=''){
  21. $type=array(
  22. '1'=>'支付宝',
  23. '2'=>'微信',
  24. '3'=>'银行卡',
  25. );
  26. if($k===''){
  27. return $type;
  28. }
  29. return isset($type[$k]) ? $type[$k]: '';
  30. }
  31. function index(){
  32. $data = $this->request->param();
  33. $map=[];
  34. $status=isset($data['status']) ? $data['status']: '';
  35. if($status!=''){
  36. $map[]=['status','=',$status];
  37. $cash['type']=1;
  38. }
  39. $start_time=isset($data['start_time']) ? $data['start_time']: '';
  40. $end_time=isset($data['end_time']) ? $data['end_time']: '';
  41. if($start_time!=""){
  42. $map[]=['addtime','>=',strtotime($start_time)];
  43. }
  44. if($end_time!=""){
  45. $map[]=['addtime','<=',strtotime($end_time) + 60*60*24];
  46. }
  47. $uid=isset($data['uid']) ? $data['uid']: '';
  48. if($uid!=''){
  49. $map[]=['uid','=',$uid];
  50. }
  51. $keyword=isset($data['keyword']) ? $data['keyword']: '';
  52. if($keyword!=''){
  53. $map[]=['orderno|trade_no','like',"%".$keyword."%"];
  54. }
  55. $lists = DB::name("user_balance_cashrecord")
  56. ->where($map)
  57. ->order('id desc')
  58. ->paginate(20);
  59. $lists->each(function($v,$k){
  60. $v['userinfo']=getUserInfo($v['uid']);
  61. return $v;
  62. });
  63. $lists->appends($data);
  64. $page = $lists->render();
  65. $cashrecord_total = DB::name("user_balance_cashrecord")->where($map)->sum("money");
  66. if($status=='')
  67. {
  68. $success=$map;
  69. $success[]=['status','=',1];
  70. $fail=$map;
  71. $fail[]=['status','=',2];
  72. $cashrecord_success = DB::name("user_balance_cashrecord")->where($success)->sum("money");
  73. $cashrecord_fail = DB::name("user_balance_cashrecord")->where($fail)->sum("money");
  74. $cash['success']=$cashrecord_success;
  75. $cash['fail']=$cashrecord_fail;
  76. $cash['type']=0;
  77. }
  78. $cash['total']=$cashrecord_total;
  79. $this->assign('cash', $cash);
  80. $this->assign('lists', $lists);
  81. $this->assign('type', $this->getTypes());
  82. $this->assign('status', $this->getStatus());
  83. $this->assign("page", $page);
  84. return $this->fetch();
  85. }
  86. function delBF(){
  87. $id = $this->request->param('id', 0, 'intval');
  88. if($id){
  89. $result=DB::name("user_balance_cashrecord")->delete($id);
  90. if($result){
  91. $action="删除提现记录:{$id}";
  92. setAdminLog($action);
  93. $this->success('删除成功');
  94. }else{
  95. $this->error('删除失败');
  96. }
  97. }else{
  98. $this->error('数据传入失败!');
  99. }
  100. }
  101. function edit(){
  102. $id = $this->request->param('id', 0, 'intval');
  103. $data=Db::name('user_balance_cashrecord')
  104. ->where("id={$id}")
  105. ->find();
  106. if(!$data){
  107. $this->error("信息错误");
  108. }
  109. $data['userinfo']=getUserInfo($data['uid']);
  110. $this->assign('type', $this->getTypes());
  111. $this->assign('status', $this->getStatus());
  112. $this->assign('data', $data);
  113. return $this->fetch();
  114. }
  115. function editPost(){
  116. if ($this->request->isPost()) {
  117. $data = $this->request->param();
  118. $status=$data['status'];
  119. $uid=$data['uid'];
  120. $money=$data['money'];
  121. $id=$data['id'];
  122. if($status=='0'){
  123. $this->success("修改成功!");
  124. }
  125. $data['uptime']=time();
  126. $rs = DB::name('user_balance_cashrecord')->update($data);
  127. if($rs===false){
  128. $this->error("修改失败!");
  129. }
  130. //拒绝
  131. if($status=='2'){
  132. DB::name("user")->where(["id"=>$uid])->inc("balance",$money)->update();
  133. $action="修改店铺余额提现记录:{$id} - 拒绝";
  134. }else if($status=='1'){
  135. $action="修改店铺余额提现记录:{$id} - 同意";
  136. }
  137. setAdminLog($action);
  138. $this->success("修改成功!");
  139. }
  140. }
  141. function export(){
  142. $data = $this->request->param();
  143. $map=[];
  144. $status=isset($data['status']) ? $data['status']: '';
  145. if($status!=''){
  146. $map[]=['status','=',$status];
  147. $cash['type']=1;
  148. }
  149. $start_time=isset($data['start_time']) ? $data['start_time']: '';
  150. $end_time=isset($data['end_time']) ? $data['end_time']: '';
  151. if($start_time!=""){
  152. $map[]=['addtime','>=',strtotime($start_time)];
  153. }
  154. if($end_time!=""){
  155. $map[]=['addtime','<=',strtotime($end_time) + 60*60*24];
  156. }
  157. $uid=isset($data['uid']) ? $data['uid']: '';
  158. if($uid!=''){
  159. $map[]=['uid','=',$uid];
  160. }
  161. $keyword=isset($data['keyword']) ? $data['keyword']: '';
  162. if($keyword!=''){
  163. $map[]=['orderno|trade_no','like',"%".$keyword."%"];
  164. }
  165. $xlsName = "店铺余额提现";
  166. $xlsData=DB::name("user_balance_cashrecord")
  167. ->where($map)
  168. ->order('id desc')
  169. ->select()
  170. ->toArray();
  171. foreach ($xlsData as $k => $v){
  172. $userinfo=getUserInfo($v['uid']);
  173. $xlsData[$k]['user_nickname']= $userinfo['user_nickname']."(".$v['uid'].")";
  174. $xlsData[$k]['addtime']=date("Y-m-d H:i:s",$v['addtime']);
  175. $xlsData[$k]['uptime']=$v['uptime']>0?date("Y-m-d H:i:s",$v['uptime']):'';
  176. $xlsData[$k]['status']=$this->getStatus($v['status']);
  177. }
  178. $action="导出店铺余额提现记录:".DB::name("user_balance_cashrecord")->getLastSql();
  179. setAdminLog($action);
  180. $cellName = array('A','B','C','D','E','F','G');
  181. $xlsCell = array(
  182. array('id','序号'),
  183. array('user_nickname','会员'),
  184. array('money','提现金额'),
  185. array('trade_no','第三方支付订单号'),
  186. array('status','状态'),
  187. array('addtime','提交时间'),
  188. array('uptime','处理时间'),
  189. );
  190. exportExcel($xlsName,$xlsCell,$xlsData,$cellName);
  191. }
  192. }