123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- <?php
- // +—————————————————————————————————————————————————————————————————————
- // | Created by Yunbao
- // +—————————————————————————————————————————————————————————————————————
- // | Copyright (c) 2013~2022 http://www.yunbaokj.com All rights reserved.
- // +—————————————————————————————————————————————————————————————————————
- // | Author: https://gitee.com/yunbaokeji
- // +—————————————————————————————————————————————————————————————————————
- // | Date: 2022-02-17
- // +—————————————————————————————————————————————————————————————————————
- /**
- * 充值记录
- */
- namespace app\admin\controller;
- use cmf\controller\AdminBaseController;
- use think\Db;
- class ChargeController extends AdminbaseController {
- protected function getStatus($k=''){
- $status=array(
- '0'=>'未支付',
- '1'=>'已完成',
- );
- if($k===''){
- return $status;
- }
-
- return isset($status[$k]) ? $status[$k]: '';
- }
-
- protected function getTypes($k=''){
- $type=array(
- '1'=>'支付宝',
- '2'=>'微信',
- '3'=>'苹果支付',
- '4'=>'微信小程序',
- '5'=>'Paypal',
- '6'=>'Braintree Paypal',
- );
- if($k===''){
- return $type;
- }
-
- return isset($type[$k]) ? $type[$k]: '';
- }
-
- protected function getAmbient($k=''){
- $ambient=array(
- "1"=>array(
- '0'=>'App',
- '1'=>'PC',
- ),
- "2"=>array(
- '0'=>'App',
- '1'=>'公众号',
- '2'=>'PC',
- ),
- "3"=>array(
- '0'=>'沙盒',
- '1'=>'生产',
- ),
- "4"=>array(
- '0'=>'App',
- '1'=>'PC',
- ),
- "5"=>array(
- '0'=>'沙盒',
- '1'=>'生产',
- ),
- "6"=>array(
- '0'=>'沙盒',
- '1'=>'生产',
- ),
- );
-
- if($k===''){
- return $ambient;
- }
-
- return isset($ambient[$k]) ? $ambient[$k]: '';
- }
-
- public function index(){
- $data = $this->request->param();
- $map=[];
-
- $start_time=isset($data['start_time']) ? $data['start_time']: '';
- $end_time=isset($data['end_time']) ? $data['end_time']: '';
-
- if($start_time!=""){
- $map[]=['addtime','>=',strtotime($start_time)];
- }
- if($end_time!=""){
- $map[]=['addtime','<=',strtotime($end_time) + 60*60*24];
- }
-
- $status=isset($data['status']) ? $data['status']: '';
- if($status!=''){
- $map[]=['status','=',$status];
- }
-
- $uid=isset($data['uid']) ? $data['uid']: '';
- if($uid!=''){
- $lianguid=getLianguser($uid);
- if($lianguid){
- $map[]=['uid',['=',$uid],['in',$lianguid],'or'];
- }else{
- $map[]=['uid','=',$uid];
- }
- }
-
- $keyword=isset($data['keyword']) ? $data['keyword']: '';
- if($keyword!=''){
- $map[]=['orderno|trade_no','like','%'.$keyword.'%'];
- }
-
-
- $lists = Db::name("charge_user")
- ->where($map)
- ->order("id desc")
- ->paginate(20);
-
- $lists->each(function($v,$k){
- $v['userinfo']=getUserInfo($v['uid']);
- if($v['giftid']){
- $gift_info=Db::name("gift")->field("gifticon,giftname")->where(['mark'=>1,'id'=>$v['giftid']])->find();
- if(!$gift_info){
- $gift_info=['gifticon'=>'','giftname'=>''];
- }
- }else{
- $gift_info=['gifticon'=>'','giftname'=>''];
- }
- $v['gift_info']=$gift_info;
- return $v;
- });
-
- $lists->appends($data);
- $page = $lists->render();
- $this->assign('lists', $lists);
- $this->assign("page", $page);
-
- $this->assign('status', $this->getStatus());
- $this->assign('type', $this->getTypes());
- $this->assign('ambient', $this->getAmbient());
-
- $moneysum = Db::name("charge_user")
- ->where($map)
- ->sum('money');
- if(!$moneysum){
- $moneysum=0;
- }
- $this->assign('moneysum', $moneysum);
-
- return $this->fetch();
- }
-
- public function setPay(){
- $id = $this->request->param('id', 0, 'intval');
- if($id){
- $result=Db::name("charge_user")->where(["id"=>$id,"status"=>0])->find();
- if($result){
-
- /* 更新会员虚拟币 */
- $coin=$result['coin']+$result['coin_give'];
- Db::name("user")->where("id='{$result['touid']}'")->setInc("coin",$coin);
- /* 更新 订单状态 */
- Db::name("charge_user")->where("id='{$result['id']}'")->update(array("status"=>1));
-
-
- $this->success('操作成功');
- }else{
- $this->error('数据传入失败!');
- }
- }else{
- $this->error('数据传入失败!');
- }
- }
-
-
- public function del(){
- $id = $this->request->param('id', 0, 'intval');
-
- $rs = DB::name('charge_user')->where("id={$id}")->delete();
- if(!$rs){
- $this->error("删除失败!");
- }
-
-
-
- $this->success("删除成功!");
-
- }
- public function export()
- {
-
- $data = $this->request->param();
- $map=[];
-
- $start_time=isset($data['start_time']) ? $data['start_time']: '';
- $end_time=isset($data['end_time']) ? $data['end_time']: '';
-
- if($start_time!=""){
- $map[]=['addtime','>=',strtotime($start_time)];
- }
- if($end_time!=""){
- $map[]=['addtime','<=',strtotime($end_time) + 60*60*24];
- }
-
- $status=isset($data['status']) ? $data['status']: '';
- if($status!=''){
- $map[]=['status','=',$status];
- }
-
- $uid=isset($data['uid']) ? $data['uid']: '';
- if($uid!=''){
- $lianguid=getLianguser($uid);
- if($lianguid){
- $map[]=['uid',['=',$uid],['in',$lianguid],'or'];
- }else{
- $map[]=['uid','=',$uid];
- }
- }
-
- $keyword=isset($data['keyword']) ? $data['keyword']: '';
- if($keyword!=''){
- $map[]=['orderno|trade_no','like','%'.$keyword.'%'];
- }
-
-
- $xlsName = "充值记录";
- $xlsData=Db::name("charge_user")
- ->field('id,uid,money,coin,coin_give,orderno,type,trade_no,status,addtime')
- ->where($map)
- ->order('id desc')
- ->select()
- ->toArray();
- foreach ($xlsData as $k => $v)
- {
- $userinfo=getUserInfo($v['uid']);
- $xlsData[$k]['user_nicename']= $userinfo['user_nicename']."(".$v['uid'].")";
- $xlsData[$k]['addtime']=date("Y-m-d H:i:s",$v['addtime']);
- $xlsData[$k]['type']=$this->getTypes($v['type']);
- $xlsData[$k]['status']=$this->getStatus($v['status']);
- }
-
-
- $cellName = array('A','B','C','D','E','F','G','H','I','J');
- $xlsCell = array(
- array('id','序号'),
- array('user_nicename','会员'),
- array('money','人民币金额'),
- array('coin','兑换点数'),
- array('coin_give','赠送点数'),
- array('orderno','商户订单号'),
- array('type','支付类型'),
- array('trade_no','第三方支付订单号'),
- array('status','订单状态'),
- array('addtime','提交时间')
- );
- exportExcel($xlsName,$xlsCell,$xlsData,$cellName);
- }
- }
|