123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- /**
- * MemberLogic.php UTF-8
- * 玩家逻辑
- *
- * @date : 2018/8/17 13:24
- *
- * @license 这不是一个自由软件,未经授权不许任何使用和传播。
- * @author : luowei <lw@huosdk.com>
- * @version : HuoMP 1.0
- */
- namespace huomp\logic\member;
- use huo\controller\common\CommonFunc;
- use huo\controller\member\MemCache;
- use huo\model\common\CommonModel;
- use huo\model\member\MemberModel;
- use huolib\constant\MemConst;
- class MemberLogic extends CommonModel {
- protected function getWhere($param = []) {
- $_map = [];
- if (!empty($param['parent_mem_id'])) {
- $_map['parent_mem_id'] = $param['parent_mem_id'];
- }
- return $_map;
- }
- public function getMemList($param = [], $page = '1,10') {
- $_where = $this->getWhere($param);
- $_where['status'] = MemConst::STATUS_NORMAL;
- $_field = [
- 'id' => 'id',
- 'nickname' => 'nickname',
- 'avatar' => 'avatar',
- ];
- $_data_list = $this->getList($_field, $_where, $page);
- $_today_cnt = (new MemberModel())->todayCount(['parent_mem_id' => $param['parent_mem_id']]);
- $_today_cnt_arr = ['today_cnt' => $_today_cnt];
- /* 获取邀请人信息 */
- $_today_cnt_arr['parent'] = [];
- $_mem_data = MemCache::ins()->getInfoById($param['parent_mem_id']);
- if (!empty($_mem_data['parent_mem_id'])) {
- $_pmem_data = MemCache::ins()->getInfoById($_mem_data['parent_mem_id']);
- if (!empty($_pmem_data)) {
- $_today_cnt_arr['parent'] = [
- 'id' => $_pmem_data['id'],
- 'nickname' => $_pmem_data['nickname'],
- 'avatar' => $_pmem_data['avatar'],
- 'tag' => '邀请人'
- ];
- }
- }
- return array_merge($_data_list, $_today_cnt_arr);
- }
- public function getList($field = [], $where = [], $page = '1,10', $order = '-create_time') {
- $_model = new MemberModel();
- $_count = $_model->where($where)->count();
- if (empty($_count)) {
- return [
- 'count' => $_count,
- 'list' => [],
- ];
- }
- $_order = $_model->orderFilter($order);
- $_mem_list = $_model->with('invited')
- ->field($field)
- ->where($where)
- ->order($_order)
- ->page($page)
- ->select();
- if (is_object($_mem_list)) {
- $_mem_list = $_mem_list->toArray();
- }
- if (empty($_mem_list)) {
- return [
- 'count' => $_count,
- 'list' => [],
- ];
- }
- $_gold_rmb_rate = CommonFunc::getGoldRmbRate();
- $_data = [];
- foreach ($_mem_list as $key => $mem) {
- $_amount = !empty($mem['invited']) ? $mem['invited']['amount'] : 0;
- $_data[] = [
- 'id' => $mem['id'],
- 'nickname' => $mem['nickname'],
- 'avatar' => $mem['avatar'],
- 'amount' => $_amount,
- 'gain_integral' => intval($_gold_rmb_rate * $_amount)
- ];
- }
- return [
- 'count' => $_count,
- 'list' => $_data,
- ];
- }
- }
|