| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | <?php/** * MemAgent.php UTF-8 * 玩家渠道 * * @date    : 2018/8/3 18:30 * * @license 这不是一个自由软件,未经授权不许任何使用和传播。 * @author  : wuyonghong <wyh@huosdk.com> * @version : Huosdk 8.0 */namespace huo\controller\member;use huo\controller\agent\AgentCache;use huo\model\user\UserModel;use huolib\constant\AgentConst;use huolib\constant\MemConst;class MemAgent {    /**     * 获取玩家自己的渠道ID     *     * @param int $mem_id 玩家ID     *     * @return int|mixed 返回渠道ID     */    public function getMemAgentId($mem_id = 0) {        $_mem_id = $mem_id;        if (empty($_mem_id)) {            return 0;        }        $_map['mem_id'] = $_mem_id;        $_mem_agent_id = (new UserModel())->getIdByMemId($_mem_id);        if (empty($_mem_agent_id)) {            $_mem_agent_id = $this->genAgent($_mem_id);        }        if (empty($_mem_agent_id)) {            return 0;        }        return $_mem_agent_id;    }    /**     * 玩家生成渠道     *     * @param int $mem_id 玩家ID     *     * @return bool|int     */    public function genAgent($mem_id) {        $_mem_id = $mem_id;        if (empty($_mem_id)) {            return false;        }        $_user_map['mem_id'] = $_mem_id;        $_user_model = new UserModel();        $_mem_agent_id = $_user_model->getIdByMemId($_mem_id);        if (!empty($_mem_agent_id)) {            return $_mem_agent_id;        }        $_mem_info = (new MemCache())->getInfoById($mem_id);        $_data['user_login'] = $_mem_id.'_'.uniqid().md5($_mem_id);        $_data['user_pass'] = $_mem_id.'_'.uniqid().md5($_mem_id);        $_data['pay_pwd'] = $_data['user_pass'];        $_data['user_nicename'] = !empty($_mem_info) ? $_mem_info['nickname'] : $_data['user_login'];        $_data['avatar'] = !empty($_mem_info) ? $_mem_info['avatar'] : '';        $_data['user_status'] = !empty($_mem_info) ? $_mem_info['status'] : MemConst::STATUS_NORMAL;        $_data['mem_id'] = $_mem_id;        $_data['parent_id'] = MemCache::ins()->getAgentIdByMemId($mem_id);        $_data['role_id'] = AgentConst::AGENT_ROLE_MP_MEMBER;//小游戏玩家渠道        $_rs = $_user_model->addData($_data);        if (false !== $_rs) {            return $_rs;        }        return false;    }    /**     * 玩家设定渠道     *     * @param int $mem_id          玩家ID     * @param int $parent_agent_id 设定的渠道ID     *     * @return bool|mixed 返回上级玩家ID     */    public function setParent($mem_id = 0, $parent_agent_id = 0) {        if (empty($mem_id)) {            return true;        }        $_mc_class = MemCache::ins();        $_ac_class = AgentCache::ins();        $_parent_agent_data = $_ac_class->getInfoByAgentId($parent_agent_id);        $_parent_mem_id = $_parent_agent_data['mem_id'];        /* 更新玩家表中数据 */        $_mem_data = $_mc_class->getInfoById($mem_id);        $_mem_data['agent_id'] = $parent_agent_id;        $_mem_data['parent_mem_id'] = empty($_parent_mem_id) ? 0 : $_parent_mem_id;        $_mc_class->updateMem($mem_id, $_mem_data);        /* 查询是否玩家渠道 玩家渠道更新渠道信息 */        $_mem_agent_id = (new UserModel())->getIdByMemId($mem_id);        if (empty($_mem_agent_id)) {            return true;        }        $_agent_data = $_ac_class->getInfoByAgentId($_mem_agent_id);        $_agent_data['parent_id'] = $parent_agent_id;        $_ac_class->updateAgent($_mem_agent_id, $_agent_data);        return true;    }}
 |