first commit
This commit is contained in:
558
app/common/model/user/User.php
Normal file
558
app/common/model/user/User.php
Normal file
@@ -0,0 +1,558 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||
// | 访问官网:https://www.likeadmin.cn
|
||||
// | likeadmin团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeadminTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\enum\user\UserEnum;
|
||||
use app\common\model\BaseModel;
|
||||
use app\common\model\user\{UserRelation,UserRelationAgent,UserInfo,UserGroup,UserGroupRecord,UserMineRecord};
|
||||
use app\common\model\member\{UserMember};
|
||||
use app\common\model\lh\{LhRecord};
|
||||
use app\common\model\finance\{UserFinance};
|
||||
use app\common\model\goods\{GoodsRecord};
|
||||
use app\common\model\item\ItemRecord;
|
||||
use app\common\service\{FileService,ConfigService,UtilsService};
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
/**
|
||||
* 用户模型
|
||||
* Class User
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class User extends BaseModel
|
||||
{
|
||||
use SoftDelete;
|
||||
|
||||
protected $deleteTime = 'delete_time';
|
||||
|
||||
|
||||
/**
|
||||
* @notes 关联用户授权模型
|
||||
* @return \think\model\relation\HasOne
|
||||
* @author 段誉
|
||||
* @date 2022/9/22 16:03
|
||||
*/
|
||||
public function userAuth()
|
||||
{
|
||||
return $this->hasOne(UserAuth::class, 'user_id');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 搜索器-用户信息
|
||||
* @param $query
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @author 段誉
|
||||
* @date 2022/9/22 16:12
|
||||
*/
|
||||
public function searchKeywordAttr($query, $value, $data)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('sn|account|mobile', 'like', '%' . $value . '%');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 搜索器-注册来源
|
||||
* @param $query
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @author 段誉
|
||||
* @date 2022/9/22 16:13
|
||||
*/
|
||||
public function searchChannelAttr($query, $value, $data)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('channel', '=', $value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 搜索器-注册时间
|
||||
* @param $query
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @author 段誉
|
||||
* @date 2022/9/22 16:13
|
||||
*/
|
||||
public function searchCreateTimeStartAttr($query, $value, $data)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('create_time', '>=', strtotime($value));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 搜索器-注册时间
|
||||
* @param $query
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @author 段誉
|
||||
* @date 2022/9/22 16:13
|
||||
*/
|
||||
public function searchCreateTimeEndAttr($query, $value, $data)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('create_time', '<=', strtotime($value));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 头像获取器 - 用于头像地址拼接域名
|
||||
* @param $value
|
||||
* @return string
|
||||
* @author Tab
|
||||
* @date 2021/7/17 14:28
|
||||
*/
|
||||
public function getAvatarAttr($value)
|
||||
{
|
||||
return trim($value) ? FileService::getFileUrl($value) : '';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 获取器-性别描述
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string|string[]
|
||||
* @author 段誉
|
||||
* @date 2022/9/7 15:15
|
||||
*/
|
||||
public function getSexAttr($value, $data)
|
||||
{
|
||||
return UserEnum::getSexDesc($value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @notes 登录时间
|
||||
* @param $value
|
||||
* @return string
|
||||
* @author 段誉
|
||||
* @date 2022/9/23 18:15
|
||||
*/
|
||||
public function getLoginTimeAttr($value)
|
||||
{
|
||||
return $value ? date('Y-m-d H:i:s', $value) : '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 生成用户编码
|
||||
* @param string $prefix
|
||||
* @param int $length
|
||||
* @return string
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
* @author 段誉
|
||||
* @date 2022/9/16 10:33
|
||||
*/
|
||||
public static function createUserSn($prefix = '', $length = 8)
|
||||
{
|
||||
$rand_str = '';
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
$rand_str .= mt_rand(0, 9);
|
||||
}
|
||||
$sn = $prefix . $rand_str;
|
||||
if (User::where(['sn' => $sn])->find()) {
|
||||
return self::createUserSn($prefix, $length);
|
||||
}
|
||||
return $sn;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取团队人数
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTeamNumAttr($value, $data)
|
||||
{
|
||||
$config = ConfigService::get('website', 'distribute');
|
||||
$level = count($config);
|
||||
|
||||
return UserRelation::where(['parent_id' => $data['id']])->where("level <= $level")->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取量化次数
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getLhNumAttr($value, $data)
|
||||
{
|
||||
return LhRecord::where(['user_id' => $data['id']])->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取今日量化次数
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTodayLhNumAttr($value, $data)
|
||||
{
|
||||
// 获取今天0点的时间戳
|
||||
$todayStart = strtotime(date('Y-m-d 00:00:00'));
|
||||
return LhRecord::where(['user_id' => $data['id']])->where("create_time > $todayStart")->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取投资次数
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getItemNumAttr($value, $data)
|
||||
{
|
||||
return ItemRecord::where(['user_id' => $data['id']])->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取挖矿情况
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getMineAttr($value, $data)
|
||||
{
|
||||
$start_time = strtotime(date('Y-m-d 00:00:00', time()));//0点
|
||||
$end_time = time();
|
||||
|
||||
$today_income = UserMineRecord::where(['user_id' => $data['id']])->where(" create_time >= $start_time AND create_time <= $end_time ")->sum('amount');
|
||||
|
||||
$start_time = 0;
|
||||
$total_income = UserMineRecord::where(['user_id' => $data['id']])->where(" create_time >= $start_time AND create_time <= $end_time ")->sum('amount');
|
||||
|
||||
return [
|
||||
'total_income' => $total_income,
|
||||
'today_income' => $today_income,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取今日投资次数
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTodayItemNumAttr($value, $data)
|
||||
{
|
||||
// 获取今天0点的时间戳
|
||||
$todayStart = strtotime(date('Y-m-d 00:00:00'));
|
||||
return ItemRecord::where(['user_id' => $data['id']])->where("create_time > $todayStart")->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取团队总充值
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTeamRechargeAttr($value, $data)
|
||||
{
|
||||
$config = ConfigService::get('website', 'distribute');
|
||||
$level = count($config);
|
||||
|
||||
$sum = UserRelation::alias('ur')
|
||||
->join('user u', 'u.id = ur.user_id')
|
||||
->where(['ur.parent_id' => $data['id']])
|
||||
->where("ur.level <= $level AND u.total_recharge > 0")
|
||||
->sum('u.total_recharge');
|
||||
|
||||
return $sum;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取量化次数
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getUnusedMoneyAttr($value, $data)
|
||||
{
|
||||
return UserFinance::where(['user_id' => $data['id'],'frozen' => 1])->sum('change_amount');
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取团队总提现
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTeamWithdrawAttr($value, $data)
|
||||
{
|
||||
$config = ConfigService::get('website', 'distribute');
|
||||
$level = count($config);
|
||||
|
||||
$sum = UserRelation::alias('ur')
|
||||
->join('user u', 'u.id = ur.user_id')
|
||||
->where(['ur.parent_id' => $data['id']])
|
||||
->where("ur.level <= $level AND u.total_withdraw > 0")
|
||||
->sum('u.total_withdraw');
|
||||
|
||||
return $sum;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取推广情况
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTeamReportAttr($value, $data)
|
||||
{
|
||||
$items = ConfigService::get('website', 'distribute');
|
||||
|
||||
foreach ($items as &$item) {
|
||||
$level = $item['level'];
|
||||
|
||||
$item['num'] = UserRelation::where(['parent_id' => $data['id'],'level' => $level])->count();
|
||||
$item['num_valid'] = UserRelation::alias('ur')
|
||||
->join('user_member_record umr', 'ur.user_id = umr.user_id')
|
||||
->where(['ur.parent_id' => $data['id'],'level' => $level])
|
||||
->where("umr.member_id > 1")
|
||||
->count();
|
||||
}
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取用户层级
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTeamTopAttr($value, $data)
|
||||
{
|
||||
$top_relation = UserRelationAgent::where(['user_id' => $data['id']])->order('level desc')->findOrEmpty();
|
||||
|
||||
$prev_relation = UserRelationAgent::where(['user_id' => $data['id'],'level' => 1])->findOrEmpty();
|
||||
|
||||
|
||||
$level = '';
|
||||
if (!$top_relation->isEmpty()) {
|
||||
$level = $top_relation['level'];
|
||||
}
|
||||
|
||||
$top_user = User::where('id', $top_relation['parent_id'])->findOrEmpty();
|
||||
|
||||
return [
|
||||
'top_account' => $top_user['account'],
|
||||
'top_name' => $top_user['is_agent'] == 1 ? $top_user['agent_name']:'',
|
||||
'prev_account' => User::where('id', $prev_relation['parent_id'])->value('account'),
|
||||
'level' => $level
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取用户层级
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getAgentTeamTopAttr($value, $data)
|
||||
{
|
||||
$top_relations = UserRelationAgent::where(['user_id' => $data['id']])->order('level desc')->select();
|
||||
|
||||
//只有一条数据的话即为代理直接下级,超过一条数据,则替换一代ID为代理二代ID
|
||||
$top_relation = $top_relations[0];
|
||||
if(count($top_relations) > 1){
|
||||
$top_relation = $top_relations[1];
|
||||
}
|
||||
|
||||
$prev_relation = UserRelationAgent::where(['user_id' => $data['id'],'level' => 1])->findOrEmpty();
|
||||
|
||||
|
||||
$level = '';
|
||||
if (!$top_relation->isEmpty()) {
|
||||
$level = $top_relation['level'];
|
||||
}
|
||||
|
||||
return [
|
||||
'top_account' => User::where('id', $top_relation['parent_id'])->value('account'),
|
||||
'prev_account' => User::where('id', $prev_relation['parent_id'])->value('account'),
|
||||
'level' => $level
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取注册IP数量
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getRegisterIpNumAttr($value, $data)
|
||||
{
|
||||
return User::where(['register_ip' => $data['register_ip']])->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取注册国家
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getRegisterCountryAttr($value, $data)
|
||||
{
|
||||
$country = "";
|
||||
// if($data['register_isp'] == ''){
|
||||
// if($data['register_ip'] != ''){
|
||||
// $country = UtilsService::get_country_by_ip($data['register_ip'],1);
|
||||
|
||||
// if($country == ''){
|
||||
// $country = UtilsService::get_country_by_ip($data['register_ip'],2);
|
||||
// }
|
||||
|
||||
// if($country != ''){
|
||||
// User::where(['id' => $data['id']])->update(['register_isp' => $country]);
|
||||
// }
|
||||
// }
|
||||
// }else{
|
||||
// $country = $data['register_isp'];
|
||||
// }
|
||||
return $country;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 获取登录IP数量
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getLoginIpNumAttr($value, $data)
|
||||
{
|
||||
return User::where(['login_ip' => $data['login_ip']])->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 订单数
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getOrderNumAttr($value, $data)
|
||||
{
|
||||
return GoodsRecord::where(['user_id' => $data['id']])->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 24小时订单数
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getOrderNum24Attr($value, $data)
|
||||
{
|
||||
$time24Hours = time() - 24 * 60 * 60;//24小时前
|
||||
return GoodsRecord::where(['user_id' => $data['id']])->where("create_time > $time24Hours")->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 会员等级
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getVipNameAttr($value, $data)
|
||||
{
|
||||
//查询会员等级
|
||||
$vip_name = '';
|
||||
|
||||
$member_id = UtilsService::get_user_member_id($data['id']);
|
||||
$userMember = UserMember::where(['id' => $member_id])->findOrEmpty();
|
||||
if (!$userMember->isEmpty()) {
|
||||
$vip_name = $userMember['name'];
|
||||
}
|
||||
return $vip_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 用户详情
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getUserInfoAttr($value, $data)
|
||||
{
|
||||
return UserInfo::where(['user_id' => $data['id']])->findOrEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 用户分组
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getGroupNameAttr($value, $data)
|
||||
{
|
||||
$group_name = '未分组';
|
||||
|
||||
$record = UserGroupRecord::where(['user_id' => ($data['id'])])->findOrEmpty();
|
||||
if (!$record->isEmpty()) {
|
||||
$group_name = UserGroup::where('id', $record['group_id'])->value('name');
|
||||
}
|
||||
return $group_name;
|
||||
}
|
||||
|
||||
}
|
||||
27
app/common/model/user/UserAuth.php
Normal file
27
app/common/model/user/UserAuth.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||
// | 访问官网:https://www.likeadmin.cn
|
||||
// | likeadmin团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeadminTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\common\model\user;
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 用户授权表
|
||||
* Class UserAuth
|
||||
* @package app\common\model
|
||||
*/
|
||||
class UserAuth extends BaseModel
|
||||
{
|
||||
|
||||
}
|
||||
45
app/common/model/user/UserGroup.php
Normal file
45
app/common/model/user/UserGroup.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
use app\common\model\user\{UserGroupRule,UserGroupRecord};
|
||||
|
||||
|
||||
/**
|
||||
* 用户分组模型
|
||||
* Class UserGroup
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserGroup extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_group';
|
||||
|
||||
/**
|
||||
* @notes 规则数量
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getRuleNumAttr($value, $data)
|
||||
{
|
||||
return UserGroupRule::where(['group_id' => $data['id']])->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 用户数量
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getUserNumAttr($value, $data)
|
||||
{
|
||||
return UserGroupRecord::where(['group_id' => $data['id']])->count();
|
||||
}
|
||||
|
||||
}
|
||||
21
app/common/model/user/UserGroupRecord.php
Normal file
21
app/common/model/user/UserGroupRecord.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用户分组记录模型
|
||||
* Class UserGroupRecord
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserGroupRecord extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_group_record';
|
||||
|
||||
|
||||
|
||||
}
|
||||
21
app/common/model/user/UserGroupRule.php
Normal file
21
app/common/model/user/UserGroupRule.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 分组规则模型
|
||||
* Class UserGroupRule
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserGroupRule extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_group_rule';
|
||||
|
||||
|
||||
|
||||
}
|
||||
55
app/common/model/user/UserInfo.php
Normal file
55
app/common/model/user/UserInfo.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
use app\common\service\FileService;
|
||||
|
||||
|
||||
/**
|
||||
* 用户信息模型
|
||||
* Class UserInfo
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserInfo extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_info';
|
||||
|
||||
/**
|
||||
* @notes 图片域名替换
|
||||
* @param $value
|
||||
* @return string
|
||||
* @author Tab
|
||||
* @date 2021/7/17 14:28
|
||||
*/
|
||||
public function getCardImg1Attr($value)
|
||||
{
|
||||
return trim($value) ? FileService::getFileUrl($value) : '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 图片域名替换
|
||||
* @param $value
|
||||
* @return string
|
||||
* @author Tab
|
||||
* @date 2021/7/17 14:28
|
||||
*/
|
||||
public function getCardImg2Attr($value)
|
||||
{
|
||||
return trim($value) ? FileService::getFileUrl($value) : '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 图片域名替换
|
||||
* @param $value
|
||||
* @return string
|
||||
* @author Tab
|
||||
* @date 2021/7/17 14:28
|
||||
*/
|
||||
public function getCardImg3Attr($value)
|
||||
{
|
||||
return trim($value) ? FileService::getFileUrl($value) : '';
|
||||
}
|
||||
|
||||
}
|
||||
21
app/common/model/user/UserKadan.php
Normal file
21
app/common/model/user/UserKadan.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 卡单规则模型
|
||||
* Class UserKadan
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserKadan extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_kadan';
|
||||
|
||||
|
||||
|
||||
}
|
||||
21
app/common/model/user/UserLog.php
Normal file
21
app/common/model/user/UserLog.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用户操作模型
|
||||
* Class UserLog
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserLog extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_log';
|
||||
|
||||
|
||||
|
||||
}
|
||||
21
app/common/model/user/UserMineRecord.php
Normal file
21
app/common/model/user/UserMineRecord.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 挖矿记录模型
|
||||
* Class UserMineRecord
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserMineRecord extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_mine_record';
|
||||
|
||||
|
||||
|
||||
}
|
||||
21
app/common/model/user/UserNotice.php
Normal file
21
app/common/model/user/UserNotice.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用户消息模型
|
||||
* Class UserNotice
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserNotice extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_notice';
|
||||
|
||||
|
||||
|
||||
}
|
||||
60
app/common/model/user/UserRelation.php
Normal file
60
app/common/model/user/UserRelation.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||
// | 访问官网:https://www.likeadmin.cn
|
||||
// | likeadmin团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeadminTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
use app\common\model\user\{User,UserRelationAgent};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用户关系模型
|
||||
* Class UserRelation
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserRelation extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_relation';
|
||||
|
||||
/**
|
||||
* @notes 获取用户层级
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTeamTopAttr($value, $data)
|
||||
{
|
||||
$top_relation = UserRelationAgent::where(['user_id' => $data['user_id']])->order('level desc')->findOrEmpty();
|
||||
|
||||
$prev_relation = UserRelationAgent::where(['user_id' => $data['user_id'],'level' => 1])->findOrEmpty();
|
||||
|
||||
|
||||
$level = '';
|
||||
if (!$top_relation->isEmpty()) {
|
||||
$level = $top_relation['level'];
|
||||
}
|
||||
|
||||
return [
|
||||
'top_sn' => User::where('id', $top_relation['parent_id'])->value('sn'),
|
||||
'prev_sn' => User::where('id', $prev_relation['parent_id'])->value('sn'),
|
||||
'level' => $level
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
49
app/common/model/user/UserRelationAgent.php
Normal file
49
app/common/model/user/UserRelationAgent.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 代理用户关系模型
|
||||
* Class UserRelationAgent
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserRelationAgent extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_relation_agent';
|
||||
|
||||
/**
|
||||
* @notes 获取用户层级
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author BD
|
||||
* @date 2024/02/22 10:54
|
||||
*/
|
||||
public function getTeamTopAttr($value, $data)
|
||||
{
|
||||
|
||||
$top_relation = UserRelationAgent::where(['user_id' => $data['user_id']])->order('level desc')->findOrEmpty();
|
||||
|
||||
$prev_relation = UserRelationAgent::where(['user_id' => $data['user_id'],'level' => 1])->findOrEmpty();
|
||||
|
||||
|
||||
$level = '';
|
||||
if (!$top_relation->isEmpty()) {
|
||||
$level = $top_relation['level'];
|
||||
}
|
||||
|
||||
$top_user = User::where('id', $top_relation['parent_id'])->findOrEmpty();
|
||||
|
||||
return [
|
||||
'top_account' => $top_user['account'],
|
||||
'prev_account' => User::where('id', $prev_relation['parent_id'])->value('account'),
|
||||
'level' => $level
|
||||
];
|
||||
}
|
||||
|
||||
}
|
||||
21
app/common/model/user/UserRewardRecord.php
Normal file
21
app/common/model/user/UserRewardRecord.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 奖励记录模型
|
||||
* Class UserRewardRecord
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserRewardRecord extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_reward_record';
|
||||
|
||||
|
||||
|
||||
}
|
||||
28
app/common/model/user/UserSession.php
Normal file
28
app/common/model/user/UserSession.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||
// | 访问官网:https://www.likeadmin.cn
|
||||
// | likeadmin团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeadminTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace app\common\model\user;
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
/**
|
||||
* 用户登录token信息
|
||||
* Class UserSession
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserSession extends BaseModel
|
||||
{
|
||||
|
||||
}
|
||||
21
app/common/model/user/UserSigninRecord.php
Normal file
21
app/common/model/user/UserSigninRecord.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 签到记录模型
|
||||
* Class UserSigninRecord
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserSigninRecord extends BaseModel
|
||||
{
|
||||
|
||||
protected $name = 'user_signin_record';
|
||||
|
||||
|
||||
|
||||
}
|
||||
35
app/common/model/user/UserTron.php
Normal file
35
app/common/model/user/UserTron.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
use app\common\model\user\{User};
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
|
||||
/**
|
||||
* 波场钱包模型
|
||||
* Class UserTron
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserTron extends BaseModel
|
||||
{
|
||||
use SoftDelete;
|
||||
protected $name = 'user_tron';
|
||||
protected $deleteTime = 'delete_time';
|
||||
|
||||
/**
|
||||
* @notes 获取用户信息
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return string
|
||||
* @author heshihu
|
||||
* @date 2022/2/22 9:53
|
||||
*/
|
||||
public function getUserInfoAttr($value, $data)
|
||||
{
|
||||
$user = User::field(['sn', 'account', 'mobile']) -> find($data['user_id']);
|
||||
|
||||
return $user;
|
||||
}
|
||||
}
|
||||
34
app/common/model/user/UserUdun.php
Normal file
34
app/common/model/user/UserUdun.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeadmin快速开发前后端分离管理后台(PHP版)
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
|
||||
// | github下载:https://github.com/likeshop-github/likeadmin
|
||||
// | 访问官网:https://www.likeadmin.cn
|
||||
// | likeadmin团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeadminTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\common\model\user;
|
||||
|
||||
|
||||
use app\common\model\BaseModel;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
|
||||
/**
|
||||
* 用户优盾钱包模型
|
||||
* Class UserUdun
|
||||
* @package app\common\model\user
|
||||
*/
|
||||
class UserUdun extends BaseModel
|
||||
{
|
||||
use SoftDelete;
|
||||
protected $name = 'user_udun';
|
||||
protected $deleteTime = 'delete_time';
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user