HomepageController.php 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <?php
  2. /**
  3. * HomepageController.php UTF-8
  4. * 玩家主页
  5. *
  6. * @date : 2018/8/15 14:32
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : luowei <lw@huosdk.com>
  10. * @version : HuoMP 1.0
  11. */
  12. namespace box\api\controller;
  13. use box\common\controller\V2ApiBaseController;
  14. use huo\controller\agent\AgentCache;
  15. use huo\controller\comment\Comment;
  16. use huo\controller\member\MemCache;
  17. use huo\controller\wap\Option;
  18. use huo\model\member\MemoauthModel;
  19. use huo\model\user\UserModel;
  20. use huolib\constant\OptionConst;
  21. use huolib\status\CommonStatus;
  22. use huolib\tool\StrUtils;
  23. use huomp\controller\agent\AgentState;
  24. use huomp\logic\log\HomepageLogLogic;
  25. use huomp\logic\member\HomepageLogic;
  26. use huomp\model\homepage\HomepageModel;
  27. class HomepageController extends V2ApiBaseController {
  28. /**
  29. * 主页信息
  30. * http://doc.1tsdk.com/159?page_id=4400
  31. * 【域名】/homepage/info
  32. */
  33. public function info() {
  34. $this->checkLogin();
  35. $_mem_id = $this->mem_id;
  36. $_mem_info = (new MemCache())->getInfoById($_mem_id);
  37. if (empty($_mem_info)) {
  38. $_code = CommonStatus::INVALID_PARAMS;
  39. $this->error(CommonStatus::getMsg($_code), [], $_code);
  40. }
  41. $_to_mem_id = get_val($this->rq_data, 'to_mem_id', 0);
  42. $_state = get_val($this->rq_data, 'state', '');
  43. if (empty($_to_mem_id) && !empty($_state)) {
  44. $_parent_ag_id = (new AgentState())->getIdByCode($_state);
  45. if (!empty($_parent_ag_id)) {
  46. $_ac_class = AgentCache::ins();
  47. $_parent_agent_id = $_ac_class->getAgentIdByAgId($_parent_ag_id);
  48. $_to_mem_id = $_ac_class->getMemIdByAgentId($_parent_agent_id);
  49. }
  50. }
  51. if (!empty($_to_mem_id)) {
  52. if ($_to_mem_id != $_mem_id) {
  53. $_mem_info = (new MemCache())->getInfoById($_to_mem_id);
  54. if (empty($_mem_info)) {
  55. $_code = CommonStatus::INVALID_PARAMS;
  56. $this->error(CommonStatus::getMsg($_code), [], $_code);
  57. }
  58. //添加访问记录
  59. (new HomepageLogLogic())->addVisitLog($_mem_id, $_to_mem_id);
  60. //查看别人的主页,返回对应的玩家主页信息
  61. $_mem_id = $_to_mem_id;
  62. }
  63. }
  64. $_option = new Option();
  65. $_setting_name = OptionConst::REBATE_MP_TEXT_MAKE_MONEY;
  66. $_make_money_item = $_option->getOptionData($_setting_name);
  67. if (!empty($_make_money_item['option_value'])) {
  68. $_make_money_item = json_decode($_make_money_item['option_value'], true);
  69. }
  70. $_mc_class = MemCache::ins();
  71. $_me_data = $_mc_class->getMeInfoById($this->mem_id);
  72. $_my_integral = !empty($_me_data) ? intval($_me_data['my_integral']) : 0;
  73. $_total_integral = !empty($_me_data) ? intval($_me_data['integral_total']) : 0;
  74. /* 获取渠道数据 */
  75. $_total_amount = 0;
  76. $_agent_data = (new UserModel())->getInfoByMemId($_to_mem_id);
  77. if (!empty($_agent_data)) {
  78. $_agent_ext_data = (new AgentCache())->getAgentExtByAgentId($_agent_data['id']);
  79. $_total_amount = !empty($_agent_ext_data) ? $_agent_ext_data['share_total'] : 0;
  80. }
  81. $_game_rq = $this->setGameData();
  82. $_nickname = !empty($_mem_info) ? $_mem_info['nickname'] : '';
  83. $_oath_data = (new MemoauthModel())->getInfoByAppMemId($_game_rq->getHAppId(),$_mem_id);
  84. if (!empty($_oath_data)){
  85. $_nickname = $_oath_data['nickname'];
  86. }
  87. $_homepage_info = (new HomepageLogic())->getHomepage($_mem_id);
  88. $_data = [
  89. 'title' => !empty($_homepage_info) ? $_homepage_info['title'] : '',
  90. 'intro' => !empty($_homepage_info) ? $_homepage_info['intro'] : '',
  91. 'banner' => !empty($_homepage_info) ? $_homepage_info['banner'] : '',
  92. 'mem_avatar' => !empty($_mem_info) ? $_mem_info['avatar'] : '',
  93. 'mem_nickname' => $_nickname,
  94. 'make_money' => $_make_money_item,
  95. 'total_amount' => StrUtils::formatNumber($_total_amount), //20180914 chenbingling
  96. 'my_integral' => $_my_integral,
  97. 'total_integral' => $_total_integral,
  98. ];
  99. $_param = ['parent_mem_id' => $_to_mem_id];
  100. $_page = '1,20';//最近20条
  101. $_visitor_list = (new HomepageLogLogic())->getVisitorList($_param, $_page);
  102. $_data['visitor_list'] = $_visitor_list;
  103. $_code = CommonStatus::NO_ERROR;
  104. $this->success(CommonStatus::getMsg($_code), $_data, $_code);
  105. }
  106. /**
  107. * 修改主页信息
  108. * http://doc.1tsdk.com/159?page_id=4401
  109. * 【域名】/homepage/update
  110. */
  111. public function update() {
  112. $this->checkLogin();
  113. $_rs = $this->validate($this->rq_data, 'Homepage.update');
  114. if (true !== $_rs) {
  115. $this->error($_rs, [], CommonStatus::INVALID_PARAMS);
  116. }
  117. $_mem_id = $this->mem_id;
  118. $_homepage_info = (new HomepageLogic())->getHomepage($_mem_id);
  119. $_title = get_val($this->rq_data, 'title', '');
  120. $_intro = get_val($this->rq_data, 'intro', '');
  121. !empty($_title) && $_homepage_info['title'] = $_title;
  122. !empty($_intro) && $_homepage_info['intro'] = $_intro;
  123. $_homepage_model = new HomepageModel();
  124. $_rs = $_homepage_model->updateData($_homepage_info, $_homepage_info['mem_id']);
  125. if (!$_rs) {
  126. $_code = CommonStatus::INNER_ERROR;
  127. $this->error(CommonStatus::getMsg($_code), [], $_code);
  128. }
  129. $_code = CommonStatus::NO_ERROR;
  130. $this->success(CommonStatus::getMsg($_code), [], $_code);
  131. }
  132. /**
  133. * 访客列表
  134. * http://doc.1tsdk.com/159?page_id=4403
  135. * 【域名】/homepage/visitor/list
  136. */
  137. public function visitorList() {
  138. $_to_mem_id = get_val($this->rq_data, 'to_mem_id', 0);
  139. if (empty($_to_mem_id)) {
  140. $_code = CommonStatus::INVALID_PARAMS;
  141. $this->error(CommonStatus::getMsg($_code), [], $_code);
  142. }
  143. $_homepage_model = new HomepageModel();
  144. $_homepage_info = $_homepage_model->getInfoByMemId($_to_mem_id);
  145. if (empty($_homepage_info)) {
  146. $_code = CommonStatus::INVALID_PARAMS;
  147. $this->error(CommonStatus::getMsg($_code), [], $_code);
  148. }
  149. //默认只查询最近七天的访问记录
  150. $_param = ['parent_mem_id' => $_to_mem_id];
  151. $_page = '1,20';//最近20条
  152. $_data = (new HomepageLogLogic())->getVisitorList($_param, $_page);
  153. $_code = CommonStatus::NO_ERROR;
  154. $this->success(CommonStatus::getMsg($_code), $_data, $_code);
  155. }
  156. /**
  157. * 我的首页-评论与客服
  158. * http://doc.huosdk.com/159?page_id=4500
  159. * 【域名】/home/comment/index
  160. *
  161. * @author wuyonghong
  162. */
  163. public function commentInfo() {
  164. $this->checkLogin();
  165. $_mem_id = $this->getMemId();
  166. $_comment_class = new Comment();
  167. $_comment_data = $_comment_class->getCnt($_mem_id);
  168. $_rdata['comment_cnt'] = isset($_comment_data['data']['comment_cnt']) ? $_comment_data['data']['comment_cnt']
  169. : 0;
  170. $_rdata['help'] = null;
  171. $_code = CommonStatus::NO_ERROR;
  172. $this->success(CommonStatus::getMsg($_code), $_rdata, $_code);
  173. }
  174. /**
  175. * http://doc.1tsdk.com/159?page_id=4402
  176. * 背景列表
  177. *【域名】/homepage/background/list
  178. */
  179. public function backgroundList() {
  180. $_rdata = (new HomepageLogic())->getBgImages();
  181. $_code = CommonStatus::NO_ERROR;
  182. $this->success(CommonStatus::getMsg($_code), $_rdata, $_code);
  183. }
  184. /**
  185. * http://doc.1tsdk.com/159?page_id=4524
  186. * 修改背景图
  187. * 【域名】/bgimg/update
  188. */
  189. public function updateBgImg() {
  190. $this->checkLogin();
  191. $_banner = $this->request->param('bg_img/s', '');
  192. if (empty($_banner)) {
  193. $_code = CommonStatus::INVALID_PARAMS;
  194. $this->error(CommonStatus::getMsg($_code), [], $_code);
  195. }
  196. $_rdata = (new HomepageLogic())->updateBgImages($this->mem_id, $_banner);
  197. if (false == $_rdata) {
  198. $_code = CommonStatus::EXCEPTION;
  199. $this->error(CommonStatus::getMsg($_code), [], $_code);
  200. }
  201. $_code = CommonStatus::NO_ERROR;
  202. $this->success(CommonStatus::getMsg($_code), [], $_code);
  203. }
  204. }