<?php
/**
 * Created by PhpStorm.
 * User: 67snow
 * Date: 2019/8/5
 * Time: 16:04
 */
namespace Sdk\Controller;
use Think\Controller;
use Think\Log;

class FengHuoApiController extends Controller{
//    protected function _initialize(){
//        // 制定允许其他域名访问
//        header("Access-Control-Allow-Origin:*");
//// 响应类型
//        header('Access-Control-Allow-Methods:POST');
//// 响应头设置
//        header('Access-Control-Allow-Headers:x-requested-with, content-type');
////        var_dump(111);
//        $key = '138FE30A2C';
//        $data = $_REQUEST;
//
//        $md5Sign = $data['signatureMD5'];
//        unset($data['signatureMD5']);
//        $time = $data['time'];
//        $page = $data['page'];
//        $pageSize = $data['page_size'];
//        $appId = $data['app_id'];
//        $signatureStamp = $data['signature_stamp'];
//
//        if(empty($md5Sign) || empty($time) || empty($page) || empty($pageSize) || empty($appId) || empty($signatureStamp)){
//            return $this->ajaxReturn(array("ResultCode"=>0,"ResultMessage"=>"缺少必要的参数","Data"=>"null"));
//        }
//
//
//        $signData = array($appId,$page,$pageSize,$signatureStamp,$time);
//        $md5_sign = md5(http_build_query($signData).$key);
//
//
//        if($md5Sign != $md5_sign){
//            return $this->ajaxReturn(array("ResultCode"=>0,"ResultMessage"=>"验签失败"));
//        }
//        $endSignatureStamp = intval(time()) + 600;
//        if($signatureStamp > $endSignatureStamp){
//            return $this->ajaxReturn(array("ResultCode"=>0,"ResultMessage"=>"请求超时"));
//        }
//
//        $pageSize = intval($pageSize);
//        if($pageSize > 1000){
//            return $this->ajaxReturn(array("ResultCode"=>0,"ResultMessage"=>"每页数量数值过大"));
//        }
//    }

    /**
     * 注册明细
     * @param
     */
    public function registerDetail(){

        $time = $_REQUEST['time'];
        $page = $_REQUEST['page'];
        $pageSize = $_REQUEST['page_size'];

        //时间区间
        if (isset($time)) {
            $where['register_time'] = array('between',[$time,$time+86399]);
        }

//        第几页数据
        $page = intval($page);
        $page = $page ? $page : 1; //默认显示第一页数据
//        一页显示数据的条数
        $pageSize = intval($pageSize);
        $row = $pageSize ? $pageSize : 1000;
//        默认排序:id降序
        $order = 'register_time asc';
        $data = M('user','tab_')
            ->field('id,account,promote_account,register_ip,register_time,device_type,device_number,fgame_name')
            ->where($where)
            ->order($order)
            ->page($page, $row)
            ->select();
        foreach ($data as $k => $v) {
            $bindType = $v['device_type'];
            if ($bindType == 1) {
                $data[$k]['device_type'] = 'Android';
            }elseif($bindType == 2) {
                $data[$k]['device_type'] = 'IOS';
            }else{
                if(!empty($v['fgame_name'])){
                    $gameServer = substr($v['fgame_name'], -10, 9);
                    if($gameServer == '安卓版'){
                        $data[$k]['device_type'] = 'Android';
                    } elseif($gameServer == '苹果版') {
                        $data[$k]['device_type'] = 'IOS';
                    }
                }
            }
            unset($data[$k]['fgame_name']);

        }

        if($data){
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => "调用成功",
                'Data' => $data
            ];
        }else{
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => "没有数据,换个条件试试吧",
                'Data' => 'null'
            ];
        }
        Log::write('registerDetail:' . date('Y-m-d H:i:s') . ' ---- ' . json_encode($result), 'INFO');

        return $this->ajaxReturn($result);
    }

    /**
     * 支付明细
     * @param
     */
    public function payDetail(){

        $time = $_REQUEST['time'];
        $page = $_REQUEST['page'];
        $pageSize = $_REQUEST['page_size'];

        //时间区间
        if (isset($time)) {
            $where['pay_time'] = array('between',[$time,$time+86399]);
        }
//        第几页数据
        $page = intval($page);
        $page = $page ? $page : 1; //默认显示第一页数据
//        一页显示数据的条数
        $pageSize = intval($pageSize);
        $row = $pageSize ? $pageSize : 1000;
//        默认排序:id降序
        $order = 'pay_time asc';
        $where['pay_status'] = array('neq',0);

        $data = M('spend','tab_')
            ->field('pay_order_number,promote_account,user_id,game_name,game_player_name,server_name,pay_time,cost,user_account')
            ->where($where)
            ->order($order)
            ->page($page, $row)
            ->select();

        if($data){
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => '调用成功',
                'Data' => $data
            ];
        }else{
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => '没有数据,换个条件试试吧',
                'Data' => 'null'
            ];
        }

        Log::write('payDetail:' . date('Y-m-d H:i:s') . ' ---- ' . json_encode($result), 'INFO');

        return $this->ajaxReturn($result);

    }

    /**
     * 玩家角色信息
     * @param
     */
    public function roleInfo(){

        $time = $_REQUEST['time'];
        $page = $_REQUEST['page'];
        $pageSize = $_REQUEST['page_size'];
        //时间区间
        if (isset($time)) {
            $where['play_time'] = array('between',[$time,$time+86399]);
        }
//        第几页数据
        $page = intval($page);
        $page = $page ? $page : 1; //默认显示第一页数据
//        一页显示数据的条数
        $pageSize = intval($pageSize);
        $row = $pageSize ? $pageSize : 1000;
//        默认排序:id降序
        $order = 'play_time asc';
        $data = M('user_play_info','tab_')
            ->field('promote_account,user_id,game_name,server_name,role_name,role_level,play_time,role_id,user_account')
            ->where($where)
            ->order($order)
            ->page($page, $row)
            ->select();

        if($data){
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => "调用成功",
                'Data' => $data
            ];
        }else{
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => "没有数据,换换条件吧",
                'Data' => 'null'
            ];
        }

        Log::write('roleInfo:' . date('Y-m-d H:i:s') . ' ---- ' . json_encode($result), 'INFO');

        return $this->ajaxReturn($result);

    }

    /**
     * 玩家登陆信息
     * @param
     */
    public function loginInfo(){

        $time = $_REQUEST['time'];
        $page = $_REQUEST['page'];
        $pageSize = $_REQUEST['page_size'];

        //时间区间
        if (isset($time)) {
            $where['login_time'] = array('between',[$time,$time+86399]);
        }
//        第几页数据
        $page = intval($page);
        $page = $page ? $page : 1; //默认显示第一页数据
//        一页显示数据的条数
        $pageSize = intval($pageSize);
        $row = $pageSize ? $pageSize : 1000;
//        默认排序:id降序
        $order = 'login_time asc';

        $where['login_time'] = array('neq',0);

        $data = M('user_login_record','tab_')
            ->field('user_id,game_name,server_name,login_time,user_account,game_player_name')
            ->where($where)
            ->order($order)
            ->page($page, $row)
            ->select();
        foreach ($data as $k=>$v){
            $promoteId = $v['promote_id'];
            if($promoteId == 0){
                $data[$k]['promote_account'] = '官方渠道';
            }else{
                $promote_account = M('promote','tab_')
                    ->field('account')
                    ->where('id',$promoteId)
                    ->find();
                $data[$k]['promote_account'] = $promote_account;
            }

        }

        if($data){
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => "调用成功",
                'Data' => $data
            ];
        }else{
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => "没有数据,换个条件试试吧",
            ];
        }

        Log::write('loginInfo:' . date('Y-m-d H:i:s') . ' ---- ' . json_encode($result), 'INFO');

        return $this->ajaxReturn($result);

    }

    /**
     * 换绑记录
     * @param
     */
    public function bindHistory()
    {

        $time = $_REQUEST['time'];
        $page = $_REQUEST['page'];
        $pageSize = $_REQUEST['page_size'];

        //时间区间
        if (isset($time)) {
            $where['m.create_time'] = array('between', [$time, $time + 86399]);
        }
//        第几页数据
        $page = intval($page);
        $page = $page ? $page : 1; //默认显示第一页数据
//        一页显示数据的条数
        $pageSize = intval($pageSize);
        $row = $pageSize ? $pageSize : 1000;
//        默认排序:id降序
        $order = 'm.create_time asc';
        $data = M('mend as m', 'tab_')
            ->join('tab_user as u on m.user_id = u.id','LEFT')
            ->field('m.user_id,m.create_time,m.promote_account,m.promote_account_to,m.bind_type,m.user_account,u.register_time')
            ->where($where)
            ->order($order)
            ->page($page, $row)
            ->select();

        foreach ($data as $k => $v) {
            $bindType = $v['bind_type'];
            if ($bindType == 1) {
                $data[$k]['bind_type'] = 'In';
            }elseif($bindType == 2){
                $data[$k]['bind_type'] = 'Out';
            }

        }
        if ($data) {
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => "调用成功",
                'Data' => $data
            ];
        } else {
            $result = [
                'ResultCode' => 1,
                'ResultMessage' => "没有数据,换个条件试试吧",
            ];
        }

        Log::write('bindHistory:' . date('Y-m-d H:i:s') . ' ---- ' . json_encode($result), 'INFO');

        return $this->ajaxReturn($result);
    }
}