* @version : HuoMP 1.0 */ namespace box\api\controller; use box\common\controller\V2ApiBaseController; use huo\controller\agent\AgentCache; use huo\controller\comment\Comment; use huo\controller\member\MemCache; use huo\controller\wap\Option; use huo\model\member\MemoauthModel; use huo\model\user\UserModel; use huolib\constant\OptionConst; use huolib\status\CommonStatus; use huolib\tool\StrUtils; use huomp\controller\agent\AgentState; use huomp\logic\log\HomepageLogLogic; use huomp\logic\member\HomepageLogic; use huomp\model\homepage\HomepageModel; class HomepageController extends V2ApiBaseController { /** * 主页信息 * http://doc.1tsdk.com/159?page_id=4400 * 【域名】/homepage/info */ public function info() { $this->checkLogin(); $_mem_id = $this->mem_id; $_mem_info = (new MemCache())->getInfoById($_mem_id); if (empty($_mem_info)) { $_code = CommonStatus::INVALID_PARAMS; $this->error(CommonStatus::getMsg($_code), [], $_code); } $_to_mem_id = get_val($this->rq_data, 'to_mem_id', 0); $_state = get_val($this->rq_data, 'state', ''); if (empty($_to_mem_id) && !empty($_state)) { $_parent_ag_id = (new AgentState())->getIdByCode($_state); if (!empty($_parent_ag_id)) { $_ac_class = AgentCache::ins(); $_parent_agent_id = $_ac_class->getAgentIdByAgId($_parent_ag_id); $_to_mem_id = $_ac_class->getMemIdByAgentId($_parent_agent_id); } } if (!empty($_to_mem_id)) { if ($_to_mem_id != $_mem_id) { $_mem_info = (new MemCache())->getInfoById($_to_mem_id); if (empty($_mem_info)) { $_code = CommonStatus::INVALID_PARAMS; $this->error(CommonStatus::getMsg($_code), [], $_code); } //添加访问记录 (new HomepageLogLogic())->addVisitLog($_mem_id, $_to_mem_id); //查看别人的主页,返回对应的玩家主页信息 $_mem_id = $_to_mem_id; } } $_option = new Option(); $_setting_name = OptionConst::REBATE_MP_TEXT_MAKE_MONEY; $_make_money_item = $_option->getOptionData($_setting_name); if (!empty($_make_money_item['option_value'])) { $_make_money_item = json_decode($_make_money_item['option_value'], true); } $_mc_class = MemCache::ins(); $_me_data = $_mc_class->getMeInfoById($this->mem_id); $_my_integral = !empty($_me_data) ? intval($_me_data['my_integral']) : 0; $_total_integral = !empty($_me_data) ? intval($_me_data['integral_total']) : 0; /* 获取渠道数据 */ $_total_amount = 0; $_agent_data = (new UserModel())->getInfoByMemId($_to_mem_id); if (!empty($_agent_data)) { $_agent_ext_data = (new AgentCache())->getAgentExtByAgentId($_agent_data['id']); $_total_amount = !empty($_agent_ext_data) ? $_agent_ext_data['share_total'] : 0; } $_game_rq = $this->setGameData(); $_nickname = !empty($_mem_info) ? $_mem_info['nickname'] : ''; $_oath_data = (new MemoauthModel())->getInfoByAppMemId($_game_rq->getHAppId(),$_mem_id); if (!empty($_oath_data)){ $_nickname = $_oath_data['nickname']; } $_homepage_info = (new HomepageLogic())->getHomepage($_mem_id); $_data = [ 'title' => !empty($_homepage_info) ? $_homepage_info['title'] : '', 'intro' => !empty($_homepage_info) ? $_homepage_info['intro'] : '', 'banner' => !empty($_homepage_info) ? $_homepage_info['banner'] : '', 'mem_avatar' => !empty($_mem_info) ? $_mem_info['avatar'] : '', 'mem_nickname' => $_nickname, 'make_money' => $_make_money_item, 'total_amount' => StrUtils::formatNumber($_total_amount), //20180914 chenbingling 'my_integral' => $_my_integral, 'total_integral' => $_total_integral, ]; $_param = ['parent_mem_id' => $_to_mem_id]; $_page = '1,20';//最近20条 $_visitor_list = (new HomepageLogLogic())->getVisitorList($_param, $_page); $_data['visitor_list'] = $_visitor_list; $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), $_data, $_code); } /** * 修改主页信息 * http://doc.1tsdk.com/159?page_id=4401 * 【域名】/homepage/update */ public function update() { $this->checkLogin(); $_rs = $this->validate($this->rq_data, 'Homepage.update'); if (true !== $_rs) { $this->error($_rs, [], CommonStatus::INVALID_PARAMS); } $_mem_id = $this->mem_id; $_homepage_info = (new HomepageLogic())->getHomepage($_mem_id); $_title = get_val($this->rq_data, 'title', ''); $_intro = get_val($this->rq_data, 'intro', ''); !empty($_title) && $_homepage_info['title'] = $_title; !empty($_intro) && $_homepage_info['intro'] = $_intro; $_homepage_model = new HomepageModel(); $_rs = $_homepage_model->updateData($_homepage_info, $_homepage_info['mem_id']); if (!$_rs) { $_code = CommonStatus::INNER_ERROR; $this->error(CommonStatus::getMsg($_code), [], $_code); } $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), [], $_code); } /** * 访客列表 * http://doc.1tsdk.com/159?page_id=4403 * 【域名】/homepage/visitor/list */ public function visitorList() { $_to_mem_id = get_val($this->rq_data, 'to_mem_id', 0); if (empty($_to_mem_id)) { $_code = CommonStatus::INVALID_PARAMS; $this->error(CommonStatus::getMsg($_code), [], $_code); } $_homepage_model = new HomepageModel(); $_homepage_info = $_homepage_model->getInfoByMemId($_to_mem_id); if (empty($_homepage_info)) { $_code = CommonStatus::INVALID_PARAMS; $this->error(CommonStatus::getMsg($_code), [], $_code); } //默认只查询最近七天的访问记录 $_param = ['parent_mem_id' => $_to_mem_id]; $_page = '1,20';//最近20条 $_data = (new HomepageLogLogic())->getVisitorList($_param, $_page); $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), $_data, $_code); } /** * 我的首页-评论与客服 * http://doc.huosdk.com/159?page_id=4500 * 【域名】/home/comment/index * * @author wuyonghong */ public function commentInfo() { $this->checkLogin(); $_mem_id = $this->getMemId(); $_comment_class = new Comment(); $_comment_data = $_comment_class->getCnt($_mem_id); $_rdata['comment_cnt'] = isset($_comment_data['data']['comment_cnt']) ? $_comment_data['data']['comment_cnt'] : 0; $_rdata['help'] = null; $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), $_rdata, $_code); } /** * http://doc.1tsdk.com/159?page_id=4402 * 背景列表 *【域名】/homepage/background/list */ public function backgroundList() { $_rdata = (new HomepageLogic())->getBgImages(); $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), $_rdata, $_code); } /** * http://doc.1tsdk.com/159?page_id=4524 * 修改背景图 * 【域名】/bgimg/update */ public function updateBgImg() { $this->checkLogin(); $_banner = $this->request->param('bg_img/s', ''); if (empty($_banner)) { $_code = CommonStatus::INVALID_PARAMS; $this->error(CommonStatus::getMsg($_code), [], $_code); } $_rdata = (new HomepageLogic())->updateBgImages($this->mem_id, $_banner); if (false == $_rdata) { $_code = CommonStatus::EXCEPTION; $this->error(CommonStatus::getMsg($_code), [], $_code); } $_code = CommonStatus::NO_ERROR; $this->success(CommonStatus::getMsg($_code), [], $_code); } }