model = model('User'); $this->orderModel = model('Orders'); $this->consumeModel = model('consume'); $this->userRecentlyReadModel = model('user_recently_read'); $this->rechargeModel = model('recharge'); $this->adminConfigModel = model('admin_config'); $this->adminModel = model('admin'); $this->campaignConsumeModel = model('CampaignConsume'); $this->ids = $this->request->param("ids", 0); $this->type = $this->request->param("type", 1); if (!$this->request->isAjax()) { if (ApiService::instance()->checkApiOn()) { $user = UserService::instance()->getUserInfo($this->ids); } else { $user = $this->model->setConnect($this->ids)->where('id', $this->ids)->find(); } // $uQuery = $this->model->setConnect($this->ids)->where('id', $this->ids); // 仅客服可以查看黑名单用户 if(($this->group != AdminConstants::ADMIN_GROUP_ID_CUSTOMER_SERVICE && $user->is_black) || !$user->id){ $this->error('用户不存在!'); } $userInfo = $user->toArray(); if($this->group != AdminConstants::ADMIN_GROUP_ID_CUSTOMER_SERVICE){ $rechargeCountWhere = [ 'user_id' => $this->ids, 'dd' => '0' ]; }else{ $rechargeCountWhere = ['user_id' => $this->ids]; } //充值金额 if($this->group == AdminConstants::ADMIN_GROUP_ID_CUSTOMER_SERVICE){ $isUserVip = $userInfo['vip_endtime'] > time(); $userInfo['is_user_vip'] = $isUserVip; if (empty($userInfo['is_user_vip'])) { $userInfo['vip_endtime'] = '-'; } else { $userInfo['vip_endtime'] = date('Y-m-d H:i:s', $userInfo['vip_endtime']); } $userInfo['orderMoneySum'] = $this->orderModel->where([ 'user_id' => $this->ids, 'state' => '1' ])->sum('money'); }else{ $rechargeVipWhere = ['user_id' => $this->ids ,'dd' => '0', 'type' => ['in', UserConstants::CHANNEL_VIP_TYPE]]; $ddRechargObj = $this->rechargeModel->setConnect($this->ids)->where($rechargeVipWhere)->order('id', 'desc')->find(); if($ddRechargObj){ $ddVipEndTime = $ddRechargObj->channel_vip_starttime + $ddRechargObj->day * 24 * 60 * 60 + $ddRechargObj->hour * 60 * 60; if($ddVipEndTime){ $userInfo['is_user_vip'] = $ddVipEndTime > time(); if (empty($userInfo['is_user_vip'])) { $userInfo['vip_endtime'] = '-'; } else { $userInfo['vip_endtime'] = date('Y-m-d H:i:s', $ddVipEndTime); } }else{ $userInfo['is_user_vip'] = false; $userInfo['vip_endtime'] = '-'; } }else{ $userInfo['is_user_vip'] = false; $userInfo['vip_endtime'] = '-'; } $userInfo['orderMoneySum'] = $this->orderModel->where([ 'user_id' => $this->ids, 'state' => '1', 'deduct' => '0' ])->sum('money'); } //书币总消费 if ($this->group == AdminConstants::ADMIN_GROUP_ID_CUSTOMER_SERVICE) { $kandianFields = 'kandian+free_kandian'; }else{ $kandianFields = 'kandian-dd_kandian+free_kandian-dd_free_kandian'; } $consumeInfo = $this->consumeModel->setConnect($this->ids)->where(['user_id' => $this->ids])->field('SUM('.$kandianFields.') as total_kandian')->find(); $userInfo['consumeCurrencySum'] = $consumeInfo['total_kandian']; //阅读书籍量 $userInfo['recentReadCount'] = $this->userRecentlyReadModel->setConnect($this->ids)->where(['user_id' => $this->ids])->count('id'); //充值笔数 $userInfo['rechargeCount'] = $this->rechargeModel->setConnect($this->ids)->where($rechargeCountWhere) ->where(function (Query $query){ $query->where(function (Query $query){ $query->where(['type'=>'1']) ->where('kandian', '>', 0); })->whereOr(['type' => '2']); }) ->count('id'); if ($this->group == AdminConstants::ADMIN_GROUP_ID_CUSTOMER_SERVICE) { //得到用户剩余免费书币 $userInfo['free_kandian'] = FinancialService::instance()->getTotalFreeKandian($this->ids)->data; //过期免费书币 $userInfo['old_free_kandian'] = FinancialService::instance()->getTotalRemainOldFreeKandian($this->ids)->data; $userInfo['kandian'] = FinancialService::instance()->getTotalKandian($this->ids)->data; } else { //得到用户剩余免费书币 $userInfo['free_kandian'] = FinancialService::instance()->getTotalFreeKandian($this->ids, 0)->data; //过期免费书币 $userInfo['old_free_kandian'] = FinancialService::instance()->getTotalRemainOldFreeKandian($this->ids, 0)->data; $userInfo['kandian'] = FinancialService::instance()->getTotalRemainKandian($this->ids, 0)->data; } $adminInfo = $this->adminConfigModel ->join('admin', 'admin.id = admin_config.admin_id') ->join('auth_group_access', 'auth_group_access.uid = admin.id') ->field(['admin_id','username', 'nickname', 'json', 'group_id', 'qrcode_image']) ->where(['admin.id' => $userInfo['channel_id']])->find(); $userInfo['originalQrCode'] = sprintf('https://open.weixin.qq.com/qr/code?username=%s', $adminInfo['json']['authorizer_info']['user_name']); $userInfo['customQrCode'] = $adminInfo['qrcode_image']; if ($adminInfo['group_id'] == 3) {//用户隶属于渠道商 $userInfo['channel_username'] = $adminInfo['username']; $userInfo['channel_nickname'] = $adminInfo['nickname']; $userInfo['agent_id'] = '-'; $userInfo['agent_username'] = '-'; } elseif ($adminInfo['group_id'] == 4) {//用户隶属于配号代理商 $channelInfo = $this->adminModel->join('admin_extend', 'admin_extend.create_by = admin.id') ->field([ 'admin.id', 'username', 'nickname' ])->where(['admin_extend.admin_id' => $userInfo['channel_id']])->find(); $userInfo['channel_id'] = $channelInfo['id']; $userInfo['channel_username'] = $channelInfo['username']; $userInfo['channel_nickname'] = $channelInfo['nickname']; $userInfo['agent_id'] = $adminInfo['admin_id']; $userInfo['agent_username'] = $adminInfo['username']; } else { } if($adminInfo['group_id'] == 4){ if($adminInfo['admin_id']){ $site_url = getCurrentDomain($adminInfo['admin_id']); }else{ $site_url = ''; } }else{ if($userInfo['channel_id']){ $site_url = getCurrentDomain($userInfo['channel_id']); }else{ $site_url = ''; } } $normalAdmin = AdminService::instance()->getAdminExtendModel() ->join("admin a", 'a.id = admin_extend.create_by', "LEFT") ->where("admin_extend.admin_id", "=", $userInfo['channel_id']) ->field(["a.username", "a.nickname"]) ->find(); $userInfo['admin_username'] = $normalAdmin->getData("username"); $userInfo['admin_nickname'] = $normalAdmin->getData("nickname"); $this->assignconfig('id', $this->ids); $this->assignconfig('type', $this->type); $this->view->assign('site_url', $site_url); $this->view->assign('userInfo', $userInfo); $this->view->assign('id', $this->ids); $this->view->assign('type', $this->type); } } }