新增子站游戏订单及导出
parent
8b98460242
commit
bb10181cc5
@ -0,0 +1,288 @@
|
||||
<?php
|
||||
|
||||
namespace Admin\Controller;
|
||||
/**
|
||||
* 后台首页控制器
|
||||
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
|
||||
*/
|
||||
class SubSpendController extends ThinkController
|
||||
{
|
||||
const model_name = 'Spend';
|
||||
public $OpAuthList;
|
||||
|
||||
public function lists()
|
||||
{
|
||||
list($is_sub_data, $startTime, $endTime) = $this->setSelectDate();
|
||||
// dump($is_sub_data);
|
||||
// dump($startTime);
|
||||
// dump($endTime);
|
||||
// dd(1);
|
||||
$map['pay_time'] = array('BETWEEN', array($startTime, $endTime));
|
||||
if (isset($_REQUEST['is_check'])) {
|
||||
$map['is_check'] = (int)($_REQUEST['is_check']);
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['user_account'])) {
|
||||
$map['user_account'] = array('like', trim($_REQUEST['user_account']));
|
||||
unset($_REQUEST['user_account']);
|
||||
}
|
||||
if (isset($_REQUEST['spend_ip'])) {
|
||||
$map['spend_ip'] = array('like', trim($_REQUEST['spend_ip']) . '%');
|
||||
unset($_REQUEST['spend_ip']);
|
||||
}
|
||||
if (isset($_REQUEST['game_name'])) {
|
||||
if ($_REQUEST['game_name'] == '全部') {
|
||||
unset($_REQUEST['game_name']);
|
||||
} else {
|
||||
$map['game_id'] = ['in', array_column(getGameByName($_REQUEST['game_name'], $_REQUEST['game_type']), 'id')];
|
||||
unset($_REQUEST['game_name']);
|
||||
}
|
||||
}
|
||||
if (isset($_REQUEST['game_type']) && $_REQUEST['game_type']) {
|
||||
$map['sdk_version'] = $_REQUEST['game_type'];
|
||||
}
|
||||
if (isset($_REQUEST['server_id'])) {
|
||||
$map['server_id'] = $_REQUEST['server_id'];
|
||||
unset($_REQUEST['server_id']);
|
||||
}
|
||||
if (isset($_REQUEST['pay_order_number'])) {
|
||||
$map['pay_order_number'] = array('like', trim($_REQUEST['pay_order_number']));
|
||||
unset($_REQUEST['pay_order_number']);
|
||||
}
|
||||
if (isset($_REQUEST['extend'])) {
|
||||
$map['extend'] = array('like', trim($_REQUEST['extend']));
|
||||
unset($_REQUEST['extend']);
|
||||
}
|
||||
if (isset($_REQUEST['pay_status'])) {
|
||||
$map['pay_status'] = $_REQUEST['pay_status'];
|
||||
unset($_REQUEST['pay_status']);
|
||||
}
|
||||
if (isset($_REQUEST['pay_way'])) {
|
||||
if ($_REQUEST['pay_way'] == 2) {
|
||||
$map['pay_way'] = ['in', '2,3,4'];
|
||||
} else {
|
||||
$map['pay_way'] = $_REQUEST['pay_way'];
|
||||
}
|
||||
unset($_REQUEST['pay_way']);
|
||||
}
|
||||
if (isset($_REQUEST['pay_game_status'])) {
|
||||
$map['pay_game_status'] = $_REQUEST['pay_game_status'];
|
||||
unset($_REQUEST['pay_game_status']);
|
||||
}
|
||||
|
||||
if ($_REQUEST['merchant_id']) {
|
||||
$map['merchant_id'] = $_REQUEST['merchant_id'];
|
||||
unset($_REQUEST['merchant_id']);
|
||||
}
|
||||
|
||||
$marketAdminId = 0;
|
||||
$isMarketAdmin = isMarketAdmin();
|
||||
if ($isMarketAdmin) {
|
||||
$userAuth = session('user_auth');
|
||||
$marketAdminId = $userAuth['uid'];
|
||||
} else {
|
||||
$marketAdminId = I('market_admin_id', 0);
|
||||
}
|
||||
if ($marketAdminId > 0) {
|
||||
$map['market_admin_id'] = $marketAdminId;
|
||||
} else {
|
||||
setPowerPromoteIds($map,'promote_id');
|
||||
}
|
||||
|
||||
if (isset($_REQUEST['promote_id'])) {
|
||||
$promoteId = intval($_REQUEST['promote_id']);
|
||||
if ($promoteId == 0) {
|
||||
$map['promote_id'] = 0;
|
||||
} else {
|
||||
$promoteMap['chain'] = ['like', "%/$promoteId/%"];
|
||||
$promoteIds = M('Promote', 'tab_')->where($promoteMap)->getField('id', true);
|
||||
$promoteIds[] = $promoteId;
|
||||
$map['promote_id'] = ['in', $promoteIds];
|
||||
}
|
||||
}
|
||||
if ($_REQUEST['data_order'] != '') {
|
||||
$data_order = reset(explode(',', $_REQUEST['data_order']));
|
||||
$data_order_type = end(explode(',', $_REQUEST['data_order']));
|
||||
$this->assign('userarpu_order', $data_order);
|
||||
$this->assign('userarpu_order_type', $data_order_type);
|
||||
$sort = $data_order == 3 ? 'desc' : 'asc';
|
||||
$order = $data_order_type . ' ' . $sort;
|
||||
} else {
|
||||
$order = ' pay_time desc ';
|
||||
}
|
||||
if (I('platform_type', 0) != 0) {
|
||||
$sy = I('platform_type', 0) == 1 ? '=' : '<>';
|
||||
$game_id = M("Game","tab_")->where('unique_code ' . $sy . ' ""')->getField("id",true);
|
||||
$map['game_id'] = ['in',$game_id];
|
||||
}
|
||||
|
||||
// if (intval(($endTime + 1) - $startTime) / (24 * 3600) <= 31) {
|
||||
// $map1 = $map;
|
||||
// $map1['pay_status'] = 1;
|
||||
// } else {
|
||||
// $map = '1 = 2';
|
||||
// $map1 = $map;
|
||||
// }
|
||||
$this->checkListOrCountAuthRestMap($map,["extend", "pay_order_number", "user_account"]);
|
||||
D("Spend")->addSubsiteWhere($map);
|
||||
|
||||
$map1 = $map;
|
||||
$map1['pay_status'] = 1;
|
||||
$total = null_to_0(M(self::model_name,"tab_")->where($map1)->sum('pay_amount'));
|
||||
$this->assign('total', $total);
|
||||
$this->meta_title = $this->m_title = '游戏充值';
|
||||
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Spend/lists', 'status' => 1])->find());
|
||||
|
||||
$data = $this->getSpendList($_GET["p"], $map, $order,$is_sub_data);
|
||||
if (!empty($data['data'])) {
|
||||
$adminUsernameList = getAdminUsernameList(array_column($data['data'], 'market_admin_id'));
|
||||
foreach ($data['data'] as $key=>&$value) {
|
||||
($value['promote_account']=='官方渠道')?($value['promote_account']=C('OFFICIEL_CHANNEL')):'';
|
||||
$value['market_admin_username'] = $adminUsernameList[$value['market_admin_id']] ?? '无';
|
||||
$value['is_check_str'] = D(self::model_name)::IsCheckStr[$value['is_check']];
|
||||
//拆分游戏名称和设备类型
|
||||
$game_arr = explode("(", rtrim($value['game_name'], ")"));
|
||||
$value['game_name'] = $game_arr[0];
|
||||
$value['sdk_version_name'] = $game_arr[1];
|
||||
}
|
||||
}
|
||||
|
||||
$this->assign('showMarketAdmin', session('user_auth')['show_market_admin']);
|
||||
$this->assign('showPromote', session('user_auth')['show_promote']);
|
||||
$this->assign('isMarketAdmin', $isMarketAdmin);
|
||||
$this->assign('marketAdmins', getMarketAdmins());
|
||||
$this->assign('list_data', $data['data']);
|
||||
$this->assign('_page', $data['page']);
|
||||
$show_data_power = (is_administrator()|| session('user_auth')['show_data']);
|
||||
$this->assign('show_data_power', $show_data_power);
|
||||
|
||||
if(!IS_ROOT){
|
||||
$this->OpAuthList= getModuleControllerAuth();
|
||||
}
|
||||
|
||||
$this->assign('menubtn',$this->menuAuth());
|
||||
$this->display();
|
||||
}
|
||||
|
||||
protected function menuAuth()
|
||||
{
|
||||
$mentBtn = [
|
||||
"addStatement"=>"<a class='butn' id='addStatement'>参与结算</a>",
|
||||
"removeStatement"=>"<a class='butn' id='removeStatement' style='background-color: red;'>移出结算</a>",
|
||||
];
|
||||
$resarr = [];
|
||||
foreach ($mentBtn as $k => $v) {
|
||||
if(IS_ROOT){
|
||||
$resarr[] = $v;
|
||||
}else{
|
||||
if(in_array($k,$this->OpAuthList)){
|
||||
$resarr[] = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $resarr;
|
||||
}
|
||||
|
||||
public function addStatement()
|
||||
{
|
||||
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
|
||||
$ids = $_REQUEST['ids'];
|
||||
$this->editOrderIscheck($ids,2,1);
|
||||
$this->ajaxReturn(array(
|
||||
'status' => 1,
|
||||
"info"=>"操作成功"
|
||||
));
|
||||
}
|
||||
public function removeStatement()
|
||||
{
|
||||
if(!isset($_REQUEST['ids'])) $this->error("参数错误");
|
||||
$ids = $_REQUEST['ids'];
|
||||
$this->editOrderIscheck($ids,1,2);
|
||||
$this->ajaxReturn(array(
|
||||
'status' => 1,
|
||||
"info"=>"操作成功"
|
||||
));
|
||||
|
||||
}
|
||||
protected function editOrderIscheck($ids,$oldval,$newval){
|
||||
$dbres = D(self::model_name)->where("id in ({$ids}) and is_check = '{$oldval}'")->select();
|
||||
if(empty($dbres)) return false;
|
||||
|
||||
$changeIds = implode(",",array_column($dbres,"id"));
|
||||
//执行操作
|
||||
$res = D(self::model_name)->where("id in ({$changeIds}) and is_check = '{$oldval}'")->save(['is_check'=>$newval]);
|
||||
if(empty($res)) return false;
|
||||
//日志
|
||||
if($newval == 1){
|
||||
$op_name = "加入结算";
|
||||
$key = "addStatement";
|
||||
}else{
|
||||
$op_name = "移出结算";
|
||||
$key = "removeStatement";
|
||||
}
|
||||
addOperationLog(['op_type'=>1,'key'=>$key,"op_name"=>$op_name,"content"=>json_encode(["ids"=>$_REQUEST['ids'],"is_check"=>$newval])]);
|
||||
return true;
|
||||
}
|
||||
protected function setSelectDate()
|
||||
{
|
||||
$startDate = empty($_REQUEST['timestart']) ? date('Y-m-d', strtotime('-6 day', time())) : $_REQUEST['timestart'];
|
||||
$endDate = empty($_REQUEST['timeend']) ? date('Y-m-d') : $_REQUEST['timeend'];
|
||||
unset($_REQUEST['timestart']);
|
||||
unset($_REQUEST['timeend']);
|
||||
$startTime = strtotime($startDate);
|
||||
$endTime = strtotime($endDate) + 86399;
|
||||
$is_sub_data = false;
|
||||
$lastSynTime = M("Kv","sub_",SUBSITE_DB)->where("`key` = 'sub_spend_syn_time'")->getField("value");
|
||||
if($lastSynTime >= $startTime && $lastSynTime < $endTime){
|
||||
$this->redirect(ACTION_NAME, array('timestart' => $startDate,"timeend"=>date('Y-m-d',$lastSynTime)));
|
||||
}
|
||||
if($lastSynTime >= $startTime && $lastSynTime <= $endTime){
|
||||
$is_sub_data = true;
|
||||
$endTime = $lastSynTime;
|
||||
}
|
||||
if($lastSynTime > $endTime){
|
||||
$is_sub_data = true;
|
||||
}
|
||||
|
||||
$this->assign('startDate', date('Y-m-d',$startTime));
|
||||
$this->assign('endDate', date('Y-m-d',$endTime));
|
||||
$this->assign('isSubData', $is_sub_data ? 1 : 0);
|
||||
$this->assign('lastSynTime', date('Y-m-d',$lastSynTime));
|
||||
return [$is_sub_data,$startTime,$endTime];
|
||||
}
|
||||
|
||||
protected function getSpendList($p = 1, $map = array(), $order, $is_sub_data)
|
||||
{
|
||||
$page = intval($p);
|
||||
$page = $page ? $page : 1; //默认显示第一页数据
|
||||
if (isset($_REQUEST['row'])) {
|
||||
$row = $_REQUEST['row'];
|
||||
} else {
|
||||
$row = 10;
|
||||
}
|
||||
if($is_sub_data){
|
||||
$SpendModel = M("spend","tab_",SUBSITE_DB);
|
||||
}else{
|
||||
$SpendModel = M("spend","tab_");
|
||||
}
|
||||
|
||||
$list = $SpendModel
|
||||
->where($map)
|
||||
->page($page, $row)
|
||||
->order($order ? $order : 'pay_time desc')
|
||||
->select();
|
||||
$count = $SpendModel->where($map)->count();
|
||||
|
||||
if($count < 20000){
|
||||
$page = set_pagination_all($count, $row);
|
||||
}else{
|
||||
$page = set_pagination($count, $row);
|
||||
}
|
||||
$data['data'] = $list;
|
||||
if ($page) {
|
||||
$data['page'] = $page;
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue