first commit

This commit is contained in:
Your Name
2026-01-19 14:19:22 +08:00
commit fe2d9c1868
4777 changed files with 665503 additions and 0 deletions

View File

@@ -0,0 +1,116 @@
<?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\finance;
use app\common\model\BaseModel;
use app\common\service\FileService;
use think\model\concern\SoftDelete;
use app\common\model\setting\RechargeMethod;
use app\common\model\user\{User,UserRelation,UserRelationAgent};
use app\common\model\dict\DictData;
/**
* 充值记录模型
* Class RechargeRecord
* @package app\common\model\finance
*/
class RechargeRecord extends BaseModel
{
use SoftDelete;
protected $name = 'recharge_record';
protected $deleteTime = 'delete_time';
/**
* @notes 获取方式名称
* @param $value
* @param $data
* @return string
* @author heshihu
* @date 2022/2/22 9:53
*/
public function getMethodAttr($value, $data)
{
return RechargeMethod::where('id', $data['method_id'])->findOrEmpty();
}
/**
* @notes 获取方式名称
* @param $value
* @param $data
* @return string
* @author heshihu
* @date 2022/2/22 9:53
*/
public function getMethodNameAttr($value, $data)
{
return RechargeMethod::where('id', $data['method_id'])->value('name');
}
/**
* @notes voucher域名替换
* @param $value
* @return string
* @author Tab
* @date 2021/7/17 14:28
*/
public function getVoucherAttr($value)
{
return trim($value) ? FileService::getFileUrl($value) : '';
}
/**
* @notes 充值状态
* @param $value
* @return string|string[]
* @author 段誉
* @date 2023/2/23 18:32
*/
public function getStatusTextAttr($value, $data)
{
return DictData::where(['value' => $data['status'],'type_value'=>'recharge_status'])->value('name');
}
/**
* @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
];
}
}

View File

@@ -0,0 +1,62 @@
<?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\finance;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
use app\common\model\user\{User,UserRelation,UserRelationAgent};
/**
* 资金明细模型
* Class UserFinance
* @package app\common\model\finance
*/
class UserFinance extends BaseModel
{
use SoftDelete;
protected $name = 'user_finance';
protected $deleteTime = 'delete_time';
/**
* @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
];
}
}

View File

@@ -0,0 +1,42 @@
<?php
namespace app\common\model\finance;
use app\common\model\user\{User};
use app\common\model\BaseModel;
/**
* 用户转账记录模型
* Class UserTransferRecord
* @package app\common\model\finance
*/
class UserTransferRecord extends BaseModel
{
protected $name = 'user_transfer_record';
/**
* @notes 转入转出用户详情
* @param $value
* @param $data
* @return string
* @author BD
* @date 2024/02/22 10:54
*/
public function getUsersInfoAttr($value, $data)
{
$field = 'mobile';
//转出用户
$userFrom = User::field($field)->where(['id' => $data['user_id_from']])->findOrEmpty();
//转入用户
$userTo = User::field($field)->where(['id' => $data['user_id_to']])->findOrEmpty();
return [
'user_from' => $userFrom['mobile'],
'user_to' => $userTo['mobile'],
];
}
}

View File

@@ -0,0 +1,120 @@
<?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\finance;
use app\common\model\BaseModel;
use think\model\concern\SoftDelete;
use app\common\model\withdraw\WithdrawMethod;
use app\common\model\user\{User,UserRelation,UserRelationAgent};
use app\common\model\dict\DictData;
use app\common\service\{FileService};
/**
* 提现记录模型
* Class WithdrawRecord
* @package app\common\model\finance
*/
class WithdrawRecord extends BaseModel
{
use SoftDelete;
protected $name = 'withdraw_record';
protected $deleteTime = 'delete_time';
/**
* @notes 二维码域名替换
* @param $value
* @return string
* @author Tab
* @date 2021/7/17 14:28
*/
public function getImgAttr($value)
{
return trim($value) ? FileService::getFileUrl($value) : '';
}
/**
* @notes 获取方式名称
* @param $value
* @param $data
* @return string
* @author heshihu
* @date 2022/2/22 9:53
*/
public function getMethodNameAttr($value, $data)
{
return WithdrawMethod::where('id', $data['method_id'])->value('name');
}
/**
* @notes 获取实际金额
* @param $value
* @param $data
* @return string
* @author heshihu
* @date 2022/2/22 9:53
*/
public function getActAmountAttr($value, $data)
{
$record = WithdrawRecord::where(['id' => $data['id']])->findOrEmpty();
$method = WithdrawMethod::where(['id' => $record['method_id']])->findOrEmpty();
return round(($record['amount'] - $record['charge']) * $record['rate'] , $method['precision']);
}
/**
* @notes 提现状态
* @param $value
* @return string|string[]
* @author 段誉
* @date 2023/2/23 18:32
*/
public function getStatusTextAttr($value, $data)
{
return DictData::where(['value' => $data['status'],'type_value'=>'withdraw_status'])->value('name');
}
/**
* @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
];
}
}