alias('su') ->leftJoin(['s' => Store::tableName()], 'su.store_id = s.id') ->where([ 'su.is_delete' => 0, ])->andWhere(['and', ['<>', 'su.name', ''], ['<>', 'su.avatar', '']]); if (isset($params['store_name']) && $params['store_name']) { $query->andWhere(['like', 's.name', $params['store_name']]); } if (isset($params['nickname']) && $params['nickname']) { $query->andWhere(['like', 'su.name', $params['nickname']]); } if (isset($params['mobile']) && $params['mobile']) { $query->andWhere(['like', 'su.mobile', $params['mobile']]); } $query->select('su.*, s.name as store_name')->orderBy('su.id desc'); $pagination = pagination_make($query); $list = $pagination['list']; $address = Address::find()->where(['is_delete' => 0])->asArray()->all(); foreach ($list as &$item) { if ($item['mobile']) { $user_list = User::find()->select(['id', 'nickname', 'avatar_url', 'store_id'])->where(['is_delete' => 0, 'binding' => $item['mobile']])->asArray()->all(); foreach ($user_list as $key => $value) { $user_list[$key]['store_name'] = Option::get('name', $value['store_id'], 'store', '-')['value']; } } else { $user_list = []; } $item['user_list'] = $user_list; $item['parent_user_list'] = []; if ($item['parent_id'] > 0) { $parent = SaasUser::find()->select('mobile, avatar, name')->where(['is_delete' => 0, 'id' => $item['parent_id']])->asArray()->one(); if ($parent) { $parent_user_list = User::find()->select(['id', 'nickname', 'avatar_url', 'store_id'])->where(['is_delete' => 0, 'binding' => $parent['mobile']])->asArray()->all(); foreach ($parent_user_list as $key => $value) { $parent_user_list[$key]['store_name'] = Option::get('name', $value['store_id'], 'store', '-')['value']; } $item['parent_user_list'] = $parent_user_list; } $item['parent'] = $parent; } } return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'data' => $list, 'address' => $address, 'pageNo' => $pagination['pageNo'], 'totalCount' => $pagination['totalCount'], ], ]; } //平台用户头部信息显示 public function getUserInfo($params) { $query = SaasUser::find()->alias('su') ->leftJoin(['s' => Store::tableName()], 'su.store_id = s.id') ->where([ 'su.is_delete' => 0, 'su.id' => $params['id'] ])->andWhere(['and', ['<>', 'su.name', ''], ['<>', 'su.avatar', '']]); $info = $query->select('su.*, s.name as store_name')->asArray()->one(); if ($info) { $info['created_at'] = date('Y-m-d H:i:s', $info['created_at']); if ($info['mobile']) { $user_list = User::find()->select(['id', 'nickname', 'avatar_url', 'store_id'])->where(['is_delete' => 0, 'binding' => $info['mobile']])->asArray()->all(); foreach ($user_list as $key => $value) { $user_list[$key]['store_name'] = Option::get('name', $value['store_id'], 'store', '-')['value']; } } else { $user_list = []; } $info['user_list'] = $user_list; $info['parent_user_list'] = []; if ($info['parent_id'] > 0) { $parent = SaasUser::find()->select('mobile, avatar, name')->where(['is_delete' => 0, 'id' => $info['parent_id']])->asArray()->one(); if ($parent) { $parent_user_list = User::find()->select(['id', 'nickname', 'avatar_url', 'store_id'])->where(['is_delete' => 0, 'binding' => $parent['mobile']])->asArray()->all(); foreach ($parent_user_list as $key => $value) { $parent_user_list[$key]['store_name'] = Option::get('name', $value['store_id'], 'store', '-')['value']; } $info['parent_user_list'] = $parent_user_list; } $info['parent'] = $parent; } } return [ 'code' => 0, 'msg' => 'success', 'data' => $info, ]; } public function getRightList($params) { $query = SaasUser::find()->alias('su') ->where([ 'su.is_delete' => 0, ])->andWhere(['and', ['<>', 'su.name', ''], ['<>', 'su.avatar', '']]); if (isset($params['nickname']) && $params['nickname']) { $query->andWhere(['like', 'su.name', $params['nickname']]); } if (isset($params['mobile']) && $params['mobile']) { $query->andWhere(['like', 'su.mobile', $params['mobile']]); } if (isset($params['id']) && $params['id']) { $query->andWhere(['id' => $params['id']]); } $query->select('id, mobile, store_id, name, avatar'); $pagination = pagination_make($query); $list = $pagination['list']; foreach ($list as &$item) { $item['has_store'] = 0; $item['store_referral'] = 0; $item['right1'] = 0; $item['right2'] = 0; $item['right3'] = 0; $store_admin = Admin::findOne(['saas_user_id' => $item['id'], 'is_delete' => 0, 'type' => 'store']); if($store_admin){ $item['has_store'] = 1; } $ref = SaasStoreReferral::findOne(['referral_id' => $item['id']]); if($ref){ $item['store_referral'] = 1; } $right1 = BusinessRightDuration::find()->where(['and', ['saas_id'=>$item['id'], 'right_id'=>1, 'is_delete' => 0], ['or', 'expire_time=0', 'expire_time>'.time()]])->one(); if($right1){ $item['right1'] = 1; $item['right1_from'] = $right1['from']; } $right2 = BusinessRightDuration::find()->where(['and', ['saas_id'=>$item['id'], 'right_id'=>2, 'is_delete' => 0], ['or', 'expire_time=0', 'expire_time>'.time()]])->one(); if($right2){ $item['right2'] = 1; $item['right2_from'] = $right2['from']; } $right3 = BusinessRightDuration::find()->where(['and', ['saas_id'=>$item['id'], 'right_id'=>3, 'is_delete' => 0], ['or', 'expire_time=0', 'expire_time>'.time()]])->one(); if($right3){ $item['right3'] = 1; $item['right3_from'] = $right3['from']; } } return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'data' => $list, 'pageNo' => $pagination['pageNo'], 'totalCount' => $pagination['totalCount'], ], ]; } public function getSaasIntegral() { $saas_id = $this->saas_id; $log_type = $this->log_type; $query = AccountLog::find()->where(['store_id' => [0, -1], 'saas_id' => $saas_id, 'type' => AccountLog::TYPE_INTEGRAL])->orderBy('created_at desc'); if (in_array($log_type, [1, 2])) { $query->andWhere(['log_type' => $log_type])->asArray()->all(); } $list = pagination_make($query); foreach ($list['list'] as &$item) { $item['log_type'] = (int)$item['log_type']; $item['created_at'] = date('Y-m-d H:i:s', $item['created_at']); } return [ 'code' => 0, 'msg' => 'success', 'data' => [ 'data' => $list['list'], 'pageNo' => $list['pageNo'], 'totalCount' => $list['totalCount'], ] ]; } }