246 lines
9.6 KiB
PHP
246 lines
9.6 KiB
PHP
<?php
|
|
|
|
namespace app\admin\controller;
|
|
|
|
use think\Db;
|
|
use think\Request;
|
|
use think\Session;
|
|
|
|
class Xima extends Common{
|
|
/**
|
|
* 可以洗码的会员及列表
|
|
*/
|
|
public function index(){
|
|
Session::set('allowSubmit','YES');
|
|
// 接收分页的条件
|
|
$get = Request::instance()->get();
|
|
$query = http_build_query($get);
|
|
$this->assign('get',$get);
|
|
$this->assign('query',$query);
|
|
|
|
// 接收搜索的条件信息
|
|
$username = Request::instance()->get('username');
|
|
$startDate = Request::instance()->get('startDate');
|
|
$endDate = Request::instance()->get('endDate');
|
|
|
|
// 时间条件
|
|
if($startDate){
|
|
$startTime = strtotime($startDate);
|
|
}else{
|
|
$startTime = strtotime(date('Y-m-d'));
|
|
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
|
}
|
|
if($endDate){
|
|
$endTime = strtotime($endDate);
|
|
}else{
|
|
$endTime = time();
|
|
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
|
}
|
|
$this->assign('get',$get);
|
|
|
|
// 拼装搜索条件
|
|
$where = array();
|
|
if(!empty($username)) $where['username'] = $username;
|
|
$where['is_delete'] = 0;
|
|
$where['agent'] = 1;
|
|
$where['agent_parent_id'] = 0;
|
|
// 获取所有代理信息
|
|
$agent_list = Db::name('user')->where($where)->order('id desc')->paginate(10,false,array('query'=>$get));
|
|
// 数据查询条件
|
|
$sumWhere = array();
|
|
$sumWhere['create_time'] = array('between',[$startTime,$endTime]);
|
|
foreach($agent_list AS $k => $v){
|
|
$sumWhere['user_id'] = $v['id'];
|
|
$sumWhere['status'] = 1;
|
|
//洗码量
|
|
$v['totalXimaliang'] = Db::name('xima')->where($sumWhere)->sum('ximaliang');
|
|
//码量
|
|
$v['maliang'] = Db::name('xima')->where($sumWhere)->sum('maliang');
|
|
//已结码量
|
|
$v['checkoutMaliang'] = Db::name('xima')->where($sumWhere)->where(array('is_checkout' => 1))->sum('maliang');
|
|
//未结码量
|
|
$v['noCheckoutMaliang'] = Db::name('xima')->where(array('user_id'=>$v['id'],'is_checkout' => 0))->sum('maliang');
|
|
//最后结算时间
|
|
if($v['last_xima_time'] > 0){
|
|
$v['last_xima_time'] = date('Y-m-d H:i:s',$v['last_xima_time']);
|
|
}else{
|
|
$v['last_xima_time'] = '-';
|
|
}
|
|
$agent_list[$k] = $v;
|
|
}
|
|
// 渲染变量和模板
|
|
$this->assign('agent_list',$agent_list);
|
|
return $this->fetch();
|
|
}
|
|
//处理洗码
|
|
public function do_xima(){
|
|
$result = array();
|
|
$user_info = Session::get('user_info');
|
|
if(Request::instance()->post() && intval(Request::instance()->post('user_id')) > 0){
|
|
$user_id = intval(Request::instance()->post('user_id'));
|
|
$find = Db::name('user')->where(array('id' => $user_id, 'status' => 1, 'is_delete' => 0))->find();
|
|
if(!$find){
|
|
$result['errorCode'] = 1;
|
|
$result['errorMessage'] = '账号处于非正常状态,请确保账号正常再进行操作';
|
|
die(json_encode($result));
|
|
}
|
|
if($find['agent_parent_id'] > 0) {
|
|
$result['errorCode'] = 1;
|
|
$result['errorMessage'] = '不允许洗码。请联系其经纪人为其洗码。';
|
|
die(json_encode($result));
|
|
}
|
|
$ximaliang_unbalanced = Db::name('xima')->where(array('status' => 1, 'user_id' => $user_id, 'is_checkout' => 0))->sum('ximaliang');
|
|
$maliang_unbalanced = Db::name('xima')->where(array('status' => 1, 'user_id' => $user_id, 'is_checkout' => 0))->sum('maliang');
|
|
if($maliang_unbalanced > 0){
|
|
//防止重复提交
|
|
$allowSubmit = Session::get('allowSubmit');
|
|
if($allowSubmit == 'YES'){
|
|
Session::delete('allowSubmit');
|
|
}else{
|
|
Session::delete('allowSubmit');
|
|
die(json_encode(['errorCode' => 1, 'errorMessage' => "请勿重复提交"]));
|
|
}
|
|
//查找下边的会员
|
|
$uodateRusult = Db::name('xima')->where(array('status' => 1, 'user_id' => $user_id, 'is_checkout' => 0))->update(array('is_checkout' => 1,'checkout_time' => time()));
|
|
if($uodateRusult){
|
|
//记录到洗码日志
|
|
$insertData = array();
|
|
$insertData['user_id'] = $user_id;
|
|
$insertData['username'] = $find['username'];
|
|
$insertData['ximaliang'] = $ximaliang_unbalanced;
|
|
$insertData['maliang'] = $maliang_unbalanced;
|
|
if($find['type_xima'] == 1){
|
|
$insertData['agent_ximalv'] = $find['agent_ximalv'].'/'.$find['agent_ximalv_dt'].'/'.$find['agent_ximalv_nn'];
|
|
}elseif($user['type_xima'] == 2){
|
|
$insertData['agent_ximalv'] = $find['agent_ximalv_single'].'/'.$find['agent_ximalv_dt_single'].'/'.$find['agent_ximalv_nn_single'];
|
|
}else{
|
|
$insertData['agent_ximalv'] = '0/0/0';
|
|
}
|
|
$insertData['create_time'] = time();
|
|
$insertData['old_money'] = 0;
|
|
$insertData['new_money'] = 0;
|
|
$insertData['admin_id'] = $user_info['id'];
|
|
$insertData['admin_username'] = $user_info['admin'];
|
|
$insertData['admin_or_agent'] = 1;
|
|
Db::name('xima_log')->insert($insertData);
|
|
//上分表增加记录
|
|
$rechargeData = array();
|
|
$rechargeData['type'] = 2;
|
|
$rechargeData['amount'] = $maliang_unbalanced;
|
|
$rechargeData['mode'] = 1;
|
|
$rechargeData['agent_or_admin'] = 1;
|
|
$rechargeData['user_id'] = $user_id;
|
|
$rechargeData['user_type'] = $find['agent'];
|
|
$rechargeData['user_agent_level'] = $find['agent_level'];
|
|
$rechargeData['username_for'] = $find['username'];
|
|
$rechargeData['nickname_for'] = $find['nickname'];
|
|
$rechargeData['user_parent_id'] = $find['agent_parent_id'];
|
|
$rechargeData['admin_id'] = $user_info['id'];
|
|
$rechargeData['admin_user_name'] = $user_info['admin'];
|
|
$rechargeData['create_time'] = time();
|
|
$rechargeData['old_money'] = $find['money'];
|
|
$rechargeData['new_money'] = $find['money'];
|
|
$rechargeData['remake'] = '总后台操作洗码';
|
|
Db::name('recharge')->insert($rechargeData);
|
|
Db::name('user')->where(array('id' => $user_id))->update(array('last_xima_time' => time()));
|
|
}
|
|
$result['errorCode'] = 0;
|
|
$result['errorMessage'] = '洗码成功';
|
|
die(json_encode($result));
|
|
}else{
|
|
$result['errorCode'] = 1;
|
|
$result['errorMessage'] = '洗码数目必须大于0';
|
|
die(json_encode($result));
|
|
}
|
|
}else{
|
|
$result['errorCode'] = 1;
|
|
$result['errorMessage'] = 'ERROR';
|
|
die(json_encode($result));
|
|
}
|
|
}
|
|
public function xima_check(){
|
|
// 接收分页的条件
|
|
$get = Request::instance()->get();
|
|
$query = http_build_query($get);
|
|
$this->assign('query',$query);
|
|
|
|
// 接收搜索条件
|
|
$startDate = Request::instance()->get('startDate');
|
|
$endDate = Request::instance()->get('endDate');
|
|
$export = Request::instance()->get('export');
|
|
$admin_or_agent = intval(Request::instance()->get('admin_or_agent'));
|
|
|
|
// 时间条件
|
|
if($startDate){
|
|
$startTime = strtotime($startDate);
|
|
}else{
|
|
$startTime = strtotime(date('Y-m-d'));
|
|
$get['startDate'] = date('Y-m-d H:i:s',$startTime);
|
|
}
|
|
if($endDate){
|
|
$endTime = strtotime($endDate);
|
|
}else{
|
|
$endTime = time();
|
|
$get['endDate'] = date('Y-m-d H:i:s',$endTime);
|
|
}
|
|
$this->assign('get',$get);
|
|
|
|
// 拼装搜索条件
|
|
$where = array();
|
|
$where['create_time'] = array('between',[$startTime,$endTime]);
|
|
if($admin_or_agent > 0) $where['admin_or_agent'] = $admin_or_agent;
|
|
|
|
if($export == 1){
|
|
$xima_list = Db::name('xima_log')->where($where)->order('create_time desc')->select();
|
|
}else{
|
|
// 所有的洗码记录
|
|
$xima_list = Db::name('xima_log')->where($where)->order('create_time desc')->paginate(10,false,array('query'=>$get));
|
|
}
|
|
foreach($xima_list as $k => $v){
|
|
// 操作人
|
|
if($v['admin_or_agent'] == 1 ){
|
|
$v['connection_username'] = $v['admin_username'];
|
|
$v['admin_or_agent_msg'] = '总台操作';
|
|
}else{
|
|
$v['admin_or_agent_msg'] = '代理操作';
|
|
}
|
|
// 数据格式转换
|
|
$v['ximaliang'] = round($v['ximaliang'],2);
|
|
$v['maliang'] = round($v['maliang'],2);
|
|
$user = Db::name('user')->where('id',$v['user_id'])->find();
|
|
$v['agent_ximalv'] = round($user['agent_ximalv'],2).'/'.round($user['agent_ximalv_dt'],2).'/'.round($user['agent_ximalv_nn'],2);
|
|
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
|
$xima_list[$k] = $v;
|
|
}
|
|
|
|
//导出excel列表
|
|
if($export == 1){
|
|
if($xima_list){
|
|
//重新组合
|
|
$excelData = array();
|
|
foreach($xima_list AS $k => $v){
|
|
$excelData[$k][0] = $v['username'];
|
|
$excelData[$k][1] = $v['agent_ximalv'];
|
|
$excelData[$k][2] = $v['ximaliang'];
|
|
$excelData[$k][3] = $v['maliang'];
|
|
$excelData[$k][4] = $v['connection_username'];
|
|
$excelData[$k][5] = $v['create_time'];
|
|
$excelData[$k][6] = $v['admin_or_agent_msg'];
|
|
}
|
|
$title = array('账号','洗码率(百/龙/牛)%','洗码量','洗码费','操作人','洗码时间','备注');
|
|
if($startDate && $endDate){
|
|
$this->exportExcelCore($excelData, '洗码记录-'.$startDate."-".$endDate, $title);
|
|
}else{
|
|
$this->exportExcelCore($excelData, '洗码记录', $title);
|
|
}
|
|
exit('已导出支持列表,请不要重复刷新该页面!');
|
|
}else{
|
|
exit('没有可以导出的列表!');
|
|
}
|
|
}
|
|
|
|
// 渲染参数和模板
|
|
$this->assign('xima_list',$xima_list);
|
|
return $this->fetch();
|
|
}
|
|
} |