123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- <?php
- namespace huo\logic\agent;
- use huo\controller\agent\Agent;
- use huo\model\common\CommonModel;
- use huo\model\member\MemberModel;
- use huo\model\user\RoleModel;
- use huo\model\user\UserModel;
- use huolib\constant\AgentConst;
- use huolib\constant\CommonConst;
- use huolib\tool\Time;
- class AgentLogic extends CommonModel {
-
- public function getInfoByAgentId($agent_id) {
- $_info = (new UserModel())->getUserInfo($agent_id);
- return $_info;
- }
-
- public function getIdByName($username) {
- $_map['user_login'] = $username;
- $_agent_id = (new UserModel())->where($_map)->value('id');
- if (false === $_agent_id) {
- return false;
- }
- if (empty($_agent_id)) {
- return 0;
- }
- return $_agent_id;
- }
-
- public function updateAgent($data = [], $agent_id) {
- $_map['id'] = $agent_id;
- $_data = $data;
- if (isset($_data['user_pass']) && cmf_pwd_is_encrypt($_data['user_pass'])) {
- unset($_data['user_pass']);
- }
- if (isset($_data['pay_pwd']) && cmf_pwd_is_encrypt($_data['pay_pwd'])) {
- unset($_data['pay_pwd']);
- }
- return (new UserModel())->updateData($_data, $agent_id);
- }
-
- public function getAgentIds(
- $agent_id = 0, $inc_me = false, $role_type = [AgentConst::ROLE_TYPE_GROUP, AgentConst::ROLE_TYPE_AGENT]
- ) {
- $_role_type = (new Agent())->getRoleType($agent_id);
- $_agent_model = new UserModel();
- if (AgentConst::ROLE_TYPE_ADMIN == $_role_type || AgentConst::ROLE_TYPE_MANAGER == $_role_type) {
- $_role_ids = (new RoleModel())->getIdsByRoleType($role_type);
- $_agent_arr = $_agent_model->getIdsByRoleId($_role_ids);
- } elseif (AgentConst::ROLE_TYPE_PC == $_role_type) {
- if (1 == count($role_type) && in_array(AgentConst::ROLE_TYPE_GROUP, $role_type)) {
- $_agent_arr = $_agent_model->getSubAgents($agent_id, $inc_me);
- } elseif (1 == count($role_type) && in_array(AgentConst::ROLE_TYPE_AGENT, $role_type)) {
- $_group_arr = $_agent_model->getSubAgents($agent_id, $inc_me);
- $_agent_arr = $_agent_model->getSubAgents($_group_arr, false);
- } else {
- $_group_arr = $_agent_model->getSubAgents($agent_id, $inc_me);
- $_agent_arr = $_agent_model->getSubAgents($_group_arr, true);
- }
- } elseif (AgentConst::ROLE_TYPE_GROUP == $_role_type) {
- $_role_id = $_agent_model->getRoleIdById($agent_id);
- if (AgentConst::AGENT_ROLE_MP_ACCOUNT == $_role_id) {
- $_agent_arr = $_agent_model->getSubAgents($agent_id, $inc_me, AgentConst::AGENT_ROLE_MP_AD);
- } else {
- $_agent_arr = $_agent_model->getSubAgents($agent_id, $inc_me, AgentConst::AGENT_ROLE_MP_AGENT);
- }
- } else {
- $_agent_arr = [$agent_id];
- }
- return $_agent_arr;
- }
-
- public function getIdNames(
- $agent_id, $inc_me = false, $role_type = [AgentConst::ROLE_TYPE_GROUP, AgentConst::ROLE_TYPE_AGENT],
- $inc_nice = false
- ) {
- $_role_type = (new Agent())->getRoleType($agent_id);
- $_role_ids = (new RoleModel())->getIdsByRoleType($role_type);
- $_map['role_id'] = ['in', $_role_ids];
- $_map['user_status'] = AgentConst::USER_STATUS_ACTIVATED;
- $_agent_model = new UserModel();
- if (AgentConst::ROLE_TYPE_PC == $_role_type) {
- if (1 == count($role_type) && in_array(AgentConst::ROLE_TYPE_AGENT, $role_type)) {
- $_map['id'] = ['in', $_agent_model->getSubAgents($agent_id, $inc_me)];
- } elseif (1 == count($role_type) && in_array(AgentConst::ROLE_TYPE_GROUP, $role_type)) {
- $_map['parent_id'] = ['in', $_agent_model->getSubAgents($agent_id, $inc_me)];
- } else {
- $_group_arr = $_agent_model->getSubAgents($agent_id, $inc_me);
- $_map['parent_id'] = ['in', $_group_arr];
- }
- } elseif (AgentConst::ROLE_TYPE_GROUP == $_role_type) {
- $_agent_arr = $_agent_model->getSubAgents($agent_id, $inc_me);
- $_map['id'] = ['in', $_agent_arr];
- } elseif (AgentConst::ROLE_TYPE_AGENT == $_role_type) {
- $_map['id'] = $agent_id;
- }
- return $_agent_model->getIdNames($_map, $inc_nice);
- }
- public function getIdNamesByRoleId($role_id = [], $inc_nice = false) {
- $_map['role_id'] = ['in', $role_id];
- $_agent_model = new UserModel();
- return $_agent_model->getIdNames($_map, $inc_nice);
- }
-
- public function addAgent($data) {
- $_id = (new UserModel())->addData($data);
- return $_id;
- }
-
- public function getAgentIdBySite($site) {
- if (strpos($site, DOCDOMAIN)) {
-
- $site = str_replace("http://", "", $site);
- $site = str_replace("https://", "", $site);
- $_domain_arr = explode('.', $site);
- $_map['user_login'] = $_domain_arr['0'];
- if (empty($_map['user_login'])) {
- return 0;
- }
- } else {
-
- $_map['user_url'] = $site;
- }
- $_key = 'agent_site_key_'.$site;
- $_agent_id = (new UserModel())->cache($_key)->where($_map)->value('id');
- if (empty($_agent_id)) {
- return 0;
- }
- return $_agent_id;
- }
-
- public function getStaticMem($agent_ids) {
- $_agent_ids = $agent_ids;
- if (is_numeric($agent_ids)) {
- $_agent_ids = [$agent_ids];
- }
- $_map = [];
- if (!empty($agent_ids)) {
- $_map['agent_id'] = ['in', $_agent_ids];
- }
- $_mem_model = new MemberModel();
- $_rdata['sum_user_cnt'] = $_mem_model->where($_map)->count();
- list($today_start, $today_end) = Time::today();
- $_map['create_time'] = ['gt', $today_start];
- $_rdata['today_user_cnt'] = $_mem_model->where($_map)->count();
- $_map['create_time'] = ['between', [$today_start - CommonConst::CONST_DAY_SECONDS, $today_start]];
- $_rdata['yesterday_user_cnt'] = $_mem_model->where($_map)->count();
- return $_rdata;
- }
- }
|