chore: 添加静态资源文件和版本配置文件
添加大量图片、字体、音频等静态资源文件,包括用户界面图片、模板文件和安装界面素材 添加系统版本配置文件(.version)和常量定义文件(.constant) 更新供应商依赖文件,包括Symfony VarDumper组件和相关许可证文件 添加验证码配置文件(captcha.php)和.gitignore规则
This commit is contained in:
565
app/model/user/User.php
Normal file
565
app/model/user/User.php
Normal file
@@ -0,0 +1,565 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use app\model\agent\AgentLevel;
|
||||
use app\model\order\StoreOrder;
|
||||
use app\model\user\level\SystemUserLevel;
|
||||
use app\model\user\group\UserGroup;
|
||||
use app\model\user\label\UserLabel;
|
||||
use app\model\user\label\UserLabelRelation;
|
||||
use app\model\user\UserExtend;
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
use think\model\concern\SoftDelete;
|
||||
|
||||
/**
|
||||
* Class User
|
||||
* @package app\model\user
|
||||
*/
|
||||
class User extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
use SoftDelete;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'uid';
|
||||
|
||||
protected $name = 'user';
|
||||
|
||||
protected $insert = ['add_time', 'add_ip', 'last_time', 'last_ip'];
|
||||
|
||||
protected $hidden = [
|
||||
'add_ip', 'account', 'clean_time', 'pwd'
|
||||
];
|
||||
|
||||
protected $deleteTime = 'delete_time';
|
||||
|
||||
/**
|
||||
* 自动转类型
|
||||
* @var string[]
|
||||
*/
|
||||
// protected $type = [
|
||||
// 'birthday' => 'int'
|
||||
// ];
|
||||
|
||||
protected $updateTime = false;
|
||||
|
||||
|
||||
// protected function getPhoneAttr($value)
|
||||
// {
|
||||
// return $value && app('request')->hasMacro('adminInfo') && app('request')->adminInfo()['level'] != 0 ? substr_replace($value, '****', 3, 4) : $value;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 更新用户事件
|
||||
* @param Model $user
|
||||
*/
|
||||
public static function onAfterUpdate($user)
|
||||
{
|
||||
event('user.update');
|
||||
}
|
||||
|
||||
protected function setAddTimeAttr($value)
|
||||
{
|
||||
return time();
|
||||
}
|
||||
|
||||
protected function setAddIpAttr($value)
|
||||
{
|
||||
return app('request')->ip();
|
||||
}
|
||||
|
||||
protected function setLastTimeAttr($value)
|
||||
{
|
||||
return time();
|
||||
}
|
||||
|
||||
protected function setLastIpAttr($value)
|
||||
{
|
||||
return app('request')->ip();
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义信息
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return mixed
|
||||
*/
|
||||
protected function setExtendInfoAttr($value)
|
||||
{
|
||||
if ($value) {
|
||||
return is_array($value) ? json_encode($value) : $value;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义信息
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getExtendInfoAttr($value)
|
||||
{
|
||||
if ($value) {
|
||||
return is_string($value) ? json_decode($value, true) : $value;
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义会员卡信息
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return mixed
|
||||
*/
|
||||
protected function setLevelExtendInfoAttr($value)
|
||||
{
|
||||
if ($value) {
|
||||
return is_array($value) ? json_encode($value) : $value;
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义会员卡信息
|
||||
* @param $value
|
||||
* @param $data
|
||||
* @return mixed
|
||||
*/
|
||||
protected function getLevelExtendInfoAttr($value)
|
||||
{
|
||||
if ($value) {
|
||||
return is_string($value) ? json_decode($value, true) : $value;
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* 链接会员登陆设置表
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function systemUserLevel()
|
||||
{
|
||||
return $this->hasOne(SystemUserLevel::class, 'id', 'level');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联用户分组
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function userGroup()
|
||||
{
|
||||
return $this->hasOne(UserGroup::class, 'id', 'group_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联自己
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function spreadUser()
|
||||
{
|
||||
return $this->hasOne(self::class, 'uid', 'spread_uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联自己
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function spreadCount()
|
||||
{
|
||||
return $this->hasMany(UserSpread::class, 'spread_uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联用户标签关系
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function LabelRelation()
|
||||
{
|
||||
return $this->hasMany(UserLabelRelation::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联用户标签
|
||||
* @return \think\model\relation\HasManyThrough
|
||||
*/
|
||||
public function label()
|
||||
{
|
||||
return $this->hasManyThrough(UserLabel::class, UserLabelRelation::class, 'uid', 'id', 'uid', 'label_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联用户地址
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function address()
|
||||
{
|
||||
return $this->hasMany(UserAddress::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联提现
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function extract()
|
||||
{
|
||||
return $this->hasMany(UserExtract::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联订单
|
||||
* @return User|\think\model\relation\HasMany
|
||||
*/
|
||||
public function order()
|
||||
{
|
||||
return $this->hasMany(StoreOrder::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联分销等级
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function agentLevel()
|
||||
{
|
||||
return $this->hasOne(AgentLevel::class, 'id', 'agent_level')->where('is_del', 0)->where('status', 1);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联积分数据
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function bill()
|
||||
{
|
||||
return $this->hasMany(UserBill::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联佣金数据
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function brokerage()
|
||||
{
|
||||
return $this->hasMany(UserBrokerage::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联余额数据
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function money()
|
||||
{
|
||||
return $this->hasMany(UserMoney::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联用户扩展数据
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function userExtend()
|
||||
{
|
||||
return $this->hasMany(UserExtend::class, 'uid', 'uid')->where('is_del', 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('uid', $value);
|
||||
else
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 账号搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchAccountAttr($query, $value)
|
||||
{
|
||||
$query->where('account', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 密码搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPwdAttr($query, $value)
|
||||
{
|
||||
$query->where('pwd', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* uid范围查询搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidsAttr($query, $value)
|
||||
{
|
||||
$query->whereIn('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊条件搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStoreLikeAttr($query, $value)
|
||||
{
|
||||
$query->where('uid|phone', 'LIKE', "%$value%");
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊条件搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLikeAttr($query, $value)
|
||||
{
|
||||
$query->where('account|nickname|phone|real_name|uid', 'LIKE', "%$value%");
|
||||
}
|
||||
|
||||
/**
|
||||
* 手机号搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPhoneAttr($query, $value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('phone', $value);
|
||||
} else {
|
||||
$query->where('phone', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分组搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchGroupIdAttr($query, $value)
|
||||
{
|
||||
$query->where('group_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否推广人搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsPromoterAttr($query, $value)
|
||||
{
|
||||
$query->where('is_promoter', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
$query->where('status', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员等级搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLevelAttr($query, $value)
|
||||
{
|
||||
$query->where('level', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 推广人uid搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchSpreadUidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('spread_uid', $value);
|
||||
} else {
|
||||
$query->where('spread_uid', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 推广人uid不等于搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchNotSpreadUidAttr($query, $value)
|
||||
{
|
||||
$query->where('spread_uid', '<>', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 推广人时间搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchSpreadTimeAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
if (is_array($value)) {
|
||||
if (count($value) == 2) $query->whereBetween('spread_time', $value);
|
||||
} else {
|
||||
$query->where('spread_time', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户类型搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUserTypeAttr($query, $value)
|
||||
{
|
||||
if ($value != '') $query->where('user_type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 购买次数搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPayCountAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if ($value == -1) {
|
||||
$query->where('pay_count', '>', 0);
|
||||
} else {
|
||||
$query->where('pay_count', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户推广资格
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchSpreadOpenAttr($query, $value)
|
||||
{
|
||||
if ($value != '') $query->where('spread_open', $value);
|
||||
}
|
||||
|
||||
public function searchNicknameAttr($query, $value)
|
||||
{
|
||||
$query->where('nickname', "like", "%" . $value . "%");
|
||||
}
|
||||
|
||||
/**
|
||||
* bar_code搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchBarCodeAttr($query, $value)
|
||||
{
|
||||
if ($value != '') $query->where('bar_code', $value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据分组类型属性搜索
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query 查询构造器实例
|
||||
* @param string $value 分组类型属性值
|
||||
* @return void
|
||||
*/
|
||||
public function searchDivisionTypeAttr($query, $value)
|
||||
{
|
||||
// 如果传入的分组类型属性值不为空,则添加查询条件
|
||||
if ($value !== '') $query->where('division_type', $value);
|
||||
}
|
||||
|
||||
public function searchDivisionStatusAttr($query, $value)
|
||||
{
|
||||
// 如果传入的分组类型属性值不为空,则添加查询条件
|
||||
if ($value !== '') $query->where('division_status', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据传入的值查询 is_del 属性是否为指定值
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query 查询构造器实例
|
||||
* @param string $value 指定的值
|
||||
* @return void
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
// 如果传入的值不为空字符串,则添加 where 条件
|
||||
if ($value !== '') $query->where('is_del', $value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据部门ID查询条件添加到查询构造器中
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query 查询构造器实例
|
||||
* @param mixed $value 部门ID值
|
||||
* @return void
|
||||
*/
|
||||
public function searchDivisionIdAttr($query, $value)
|
||||
{
|
||||
// 如果传入的部门ID不为空字符串,则将其作为查询条件添加到查询构造器中
|
||||
if ($value !== '') $query->where('division_id', $value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据代理商ID查询条件添加到查询构造器中
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query 查询构造器实例
|
||||
* @param string $value 代理商ID
|
||||
* @return void
|
||||
*/
|
||||
public function searchAgentIdAttr($query, $value)
|
||||
{
|
||||
// 如果传入的代理商ID不为空字符串,则在查询构造器中添加代理商ID查询条件
|
||||
if ($value !== '') $query->where('agent_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据分组邀请属性查询
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query 查询构造器实例
|
||||
* @param string $value 分组邀请属性值
|
||||
* @return void
|
||||
*/
|
||||
public function searchDivisionInviteAttr($query, $value)
|
||||
{
|
||||
// 如果传入的分组邀请属性值不为空,则添加查询条件
|
||||
if ($value !== '') $query->where('division_invite', $value);
|
||||
}
|
||||
|
||||
public function searchDivisionNameAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->whereLike('division_name|uid', "%$value%");
|
||||
}
|
||||
}
|
||||
86
app/model/user/UserAddress.php
Normal file
86
app/model/user/UserAddress.php
Normal file
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* Class UserAddress
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserAddress extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_address';
|
||||
|
||||
protected $insert = ['add_time'];
|
||||
|
||||
protected $hidden = ['add_time', 'is_del'];
|
||||
|
||||
/**
|
||||
* 更新之后事件
|
||||
* @param model $model
|
||||
*/
|
||||
public static function onAfterUpdate(Model $model)
|
||||
{
|
||||
event('user.address.update');
|
||||
}
|
||||
|
||||
protected function setAddTimeAttr()
|
||||
{
|
||||
return time();
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
$query->where('is_del', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否默认地址
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDefaultAttr($query, $value)
|
||||
{
|
||||
$query->where('is_default', $value);
|
||||
}
|
||||
|
||||
}
|
||||
229
app/model/user/UserBill.php
Normal file
229
app/model/user/UserBill.php
Normal file
@@ -0,0 +1,229 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use app\model\order\StoreOrder;
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* Class UserBill
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserBill extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_bill';
|
||||
|
||||
protected $autoWriteTimestamp = 'int';
|
||||
|
||||
protected $createTime = 'add_time';
|
||||
|
||||
/**
|
||||
* 添加时间修改器
|
||||
* @return int
|
||||
*/
|
||||
public function setAddTimeAttr()
|
||||
{
|
||||
return time();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加时间获取器
|
||||
* @param $value
|
||||
* @return false|string
|
||||
*/
|
||||
public function getAddTimeAttr($value)
|
||||
{
|
||||
if (!empty($value)) {
|
||||
if (is_string($value)) {
|
||||
return $value;
|
||||
} elseif (is_int($value)) {
|
||||
return date('Y-m-d H:i:s', (int)$value);
|
||||
}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联订单表
|
||||
* @return UserBill|model\relation\HasOne
|
||||
*/
|
||||
public function order()
|
||||
{
|
||||
return $this->hasOne(StoreOrder::class, 'id', 'link_id')->field(['id', 'total_num'])->bind(['total_num']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联用户
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value))
|
||||
$query->whereIn('uid', $value);
|
||||
else
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLinkIdAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('link_id', $value);
|
||||
else
|
||||
$query->where('link_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 支出|获得
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPmAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('pm', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 种类 now_money:余额 integral:积分 exp:经验
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchCategoryAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('category', $value);
|
||||
else
|
||||
$query->where('category', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchNotCategoryAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereNotIn('category', $value);
|
||||
else
|
||||
$query->where('category', '<>', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 类型
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('type', $value);
|
||||
else
|
||||
$query->where('type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchNotTypeAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereNotIn('type', $value);
|
||||
else
|
||||
$query->where('type', '<>', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态 0:带确定 1:有效 -1:无效
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
$query->where('status', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否收货 0:未收货 1:已收货
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTakeAttr($query, $value)
|
||||
{
|
||||
$query->where('take', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊搜索
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLikeAttr($query, $value)
|
||||
{
|
||||
$query->where(function ($query) use ($value) {
|
||||
$query->where('id|uid|title', 'like', "%$value%")->whereOr('uid', 'in', function ($query) use ($value) {
|
||||
$query->name('user')->whereLike('uid|account|nickname|phone', '%' . $value . '%')->field('uid')->select();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchAddTimeAttr($query, $value)
|
||||
{
|
||||
if (is_string($value)) $query->whereTime($query, $value);
|
||||
if (is_array($value) && count($value) == 2) $query->whereTime('add_time', 'between', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 积分冻结
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsFrozenAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('frozen_time', '>', time());
|
||||
}
|
||||
}
|
||||
176
app/model/user/UserBrokerage.php
Normal file
176
app/model/user/UserBrokerage.php
Normal file
@@ -0,0 +1,176 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use app\model\order\StoreOrder;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* 用户佣金
|
||||
* Class UserBrokerage
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserBrokerage extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_brokerage';
|
||||
|
||||
|
||||
/**
|
||||
* 关联订单表
|
||||
* @return UserBill|model\relation\HasOne
|
||||
*/
|
||||
public function order()
|
||||
{
|
||||
return $this->hasOne(StoreOrder::class, 'id', 'link_id')->field(['id', 'total_num'])->bind(['total_num']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联用户
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid', false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value))
|
||||
$query->whereIn('uid', $value);
|
||||
else
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLinkIdAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('link_id', $value);
|
||||
else
|
||||
$query->where('link_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 支出|获得
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPmAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('pm', $value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 类型
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value))
|
||||
$query->whereIn('type', $value);
|
||||
else
|
||||
$query->where('type', $value);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchNotTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value))
|
||||
$query->whereNotIn('type', $value);
|
||||
else
|
||||
$query->where('type', '<>', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态 0:带确定 1:有效 -1:无效
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
$query->where('status', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否收货 0:未收货 1:已收货
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTakeAttr($query, $value)
|
||||
{
|
||||
$query->where('take', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊搜索
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLikeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where(function ($query) use ($value) {
|
||||
$query->where('uid|title', 'like', "%$value%")->whereOr('uid', 'in', function ($query) use ($value) {
|
||||
$query->name('user')->whereLike('uid|account|nickname|phone', '%' . $value . '%')->field('uid')->select();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchAddTimeAttr($query, $value)
|
||||
{
|
||||
if (is_string($value)) $query->whereTime($query, $value);
|
||||
if (is_array($value) && count($value) == 2) $query->whereTime('add_time', 'between', $value);
|
||||
}
|
||||
|
||||
}
|
||||
67
app/model/user/UserBrokerageFrozen.php
Normal file
67
app/model/user/UserBrokerageFrozen.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 佣金冻结
|
||||
* Class UserBrokerageFrozen
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserBrokerageFrozen extends BaseModel
|
||||
{
|
||||
|
||||
/**
|
||||
* 设置主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 设置表名
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_brokerage_frozen';
|
||||
|
||||
|
||||
/**
|
||||
* 用户id搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
$query->where('status', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchOrderIdAttr($query, $value)
|
||||
{
|
||||
$query->where('order_id', $value);
|
||||
}
|
||||
}
|
||||
141
app/model/user/UserCard.php
Normal file
141
app/model/user/UserCard.php
Normal file
@@ -0,0 +1,141 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
|
||||
/**
|
||||
* 用户领取卡券
|
||||
* Class UserCard
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserCard extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_card';
|
||||
|
||||
/**
|
||||
* 用户
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid')->field('uid,nickname,avatar')->bind([
|
||||
'nickname' => 'nickname',
|
||||
'avatar' => 'avatar'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* uid
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* wechat_card_id
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchWechatCardIdAttr($query, $value)
|
||||
{
|
||||
if (in_array($value)) {
|
||||
$query->whereIn('wechat_card_id', $value);
|
||||
} else {
|
||||
if ($value !== '') $query->where('wechat_card_id', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* card_id
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchCardIdAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('card_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 门店ID
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStoreIdAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if ($value == -1) {//所有门店
|
||||
$query->where('store_id', '>', 0);
|
||||
} else {
|
||||
$query->where('store_id', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 门店店员ID
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStaffIdAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('staff_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* openid
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchOpenidAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('openid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* is_submit
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsSubmitAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('is_submit', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* is_del
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('is_del', $value);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
75
app/model/user/UserExtend.php
Normal file
75
app/model/user/UserExtend.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
declare (strict_types=1);
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
|
||||
/**
|
||||
* 用户扩展数据表模型
|
||||
* Class UserExtend
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserExtend extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_extend';
|
||||
|
||||
/**
|
||||
* 关联用户表
|
||||
* @return \think\model\relation\BelongsTo|\think\model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* uid搜索器
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('uid', $value);
|
||||
} else {
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 字段名搜索器
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchFieldNameAttr($query, $value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('field_name', $value);
|
||||
} else {
|
||||
$query->where('field_name', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
137
app/model/user/UserExtract.php
Normal file
137
app/model/user/UserExtract.php
Normal file
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* Class UserExtract
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserExtract extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_extract';
|
||||
|
||||
//审核中
|
||||
const AUDIT_STATUS = 0;
|
||||
//未通过
|
||||
const FAIL_STATUS = -1;
|
||||
//已提现
|
||||
const SUCCESS_STATUS = 1;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
* @var string[]
|
||||
*/
|
||||
protected static $status = [
|
||||
-1 => '未通过',
|
||||
0 => '审核中',
|
||||
1 => '已提现'
|
||||
];
|
||||
|
||||
/**
|
||||
* 关联user
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('uid', $value);
|
||||
else
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ID
|
||||
* @param $query
|
||||
* @param $value
|
||||
* @return void
|
||||
* User: liusl
|
||||
* DateTime: 2024/1/9 15:50
|
||||
*/
|
||||
public function searchIdAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('id', $value);
|
||||
else
|
||||
$query->where('id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 提现方式
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchExtractTypeAttr($query, $value)
|
||||
{
|
||||
if ($value != '') $query->where('extract_type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
if ($value) {
|
||||
$query->whereIn('status', $value);
|
||||
}
|
||||
} else {
|
||||
if ($value !== '') {
|
||||
$query->where('status', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊搜索
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLikeAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where(function ($query) use ($value) {
|
||||
$query->where('real_name|id|bank_code|alipay_code', 'LIKE', "%$value%")->whereOr('uid', 'in', function ($query) use ($value) {
|
||||
$query->name('user')->whereLike('nickname', '%' . $value . '%')->field('uid')->select();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
76
app/model/user/UserFriends.php
Normal file
76
app/model/user/UserFriends.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
class UserFriends extends BaseModel
|
||||
{
|
||||
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 表明
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_friends';
|
||||
|
||||
/**
|
||||
* 主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
*
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function level()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid')->field(['uid', 'level'])->bind([
|
||||
'level' => 'level'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function nickname()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid')->field(['uid', 'nickname'])->bind([
|
||||
'nickname' => 'nickname'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* uid搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改添加时间
|
||||
* @param $value
|
||||
* @return false|string
|
||||
*/
|
||||
public function getAddTimeAttr($value)
|
||||
{
|
||||
return date('Y-m-d H:i:s', $value);
|
||||
}
|
||||
}
|
||||
99
app/model/user/UserInvoice.php
Normal file
99
app/model/user/UserInvoice.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* Class UserInvoice
|
||||
* @package app\model\live
|
||||
*/
|
||||
class UserInvoice extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
protected $pk = 'id';
|
||||
|
||||
protected $name = 'user_invoice';
|
||||
|
||||
protected $autoWriteTimestamp = 'int';
|
||||
|
||||
protected $createTime = 'add_time';
|
||||
|
||||
protected function setAddTimeAttr()
|
||||
{
|
||||
return time();
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加时间获取器
|
||||
* @param $value
|
||||
* @return false|string
|
||||
*/
|
||||
public function getAddTimeAttr($value)
|
||||
{
|
||||
if (!empty($value)) {
|
||||
return date('Y-m-d H:i:s', (int)$value);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchHeaderTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('header_type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDefaultAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->whereLike('is_default', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('is_del', $value);
|
||||
}
|
||||
|
||||
}
|
||||
167
app/model/user/UserMoney.php
Normal file
167
app/model/user/UserMoney.php
Normal file
@@ -0,0 +1,167 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use app\model\order\StoreOrder;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* 用户余额
|
||||
* Class UserMoney
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserMoney extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_money';
|
||||
|
||||
/**
|
||||
* 关联订单表
|
||||
* @return UserBill|model\relation\HasOne
|
||||
*/
|
||||
public function order()
|
||||
{
|
||||
return $this->hasOne(StoreOrder::class, 'id', 'link_id')->field(['id', 'total_num'])->bind(['total_num']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联用户
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value))
|
||||
$query->whereIn('uid', $value);
|
||||
else
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLinkIdAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('link_id', $value);
|
||||
else
|
||||
$query->where('link_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 支出|获得
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPmAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('pm', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 类型
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('type', $value);
|
||||
else
|
||||
$query->where('type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchNotTypeAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereNotIn('type', $value);
|
||||
else
|
||||
$query->where('type', '<>', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态 0:带确定 1:有效 -1:无效
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
$query->where('status', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否收货 0:未收货 1:已收货
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTakeAttr($query, $value)
|
||||
{
|
||||
$query->where('take', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊搜索
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLikeAttr($query, $value)
|
||||
{
|
||||
$query->where(function ($query) use ($value) {
|
||||
$query->where('uid|title', 'like', "%$value%")->whereOr('uid', 'in', function ($query) use ($value) {
|
||||
$query->name('user')->whereLike('uid|account|nickname|phone', '%' . $value . '%')->field('uid')->select();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchAddTimeAttr($query, $value)
|
||||
{
|
||||
if (is_string($value)) $query->whereTime($query, $value);
|
||||
if (is_array($value) && count($value) == 2) $query->whereTime('add_time', 'between', $value);
|
||||
}
|
||||
|
||||
}
|
||||
172
app/model/user/UserRecharge.php
Normal file
172
app/model/user/UserRecharge.php
Normal file
@@ -0,0 +1,172 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use app\model\store\SystemStoreStaff;
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* Class UserRecharge
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserRecharge extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_recharge';
|
||||
|
||||
protected $insert = ['add_time'];
|
||||
|
||||
protected function setAddTimeAttr()
|
||||
{
|
||||
return time();
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联user
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid', false)->bind([
|
||||
'nickname' => 'nickname',
|
||||
'avatar' => 'avatar',
|
||||
'phone' => 'phone',
|
||||
'now_money' => 'now_money',
|
||||
'integral' => 'integral',
|
||||
'delete_time' => 'delete_time'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function staff()
|
||||
{
|
||||
return $this->hasOne(SystemStoreStaff::class, 'id', 'staff_id')
|
||||
->field(['id', 'uid', 'store_id', 'staff_name'])
|
||||
->bind([
|
||||
'staff_uid' => 'uid',
|
||||
'staff_store_id' => 'store_id',
|
||||
'staff_name' => 'staff_name'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('uid', $value);
|
||||
else
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 门店ID
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStoreIdAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if ($value == -1) {//所有门店
|
||||
$query->where('store_id', '>', 0);
|
||||
} else {
|
||||
$query->where('store_id', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 门店店员ID
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStaffIdAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('staff_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单号
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchOrderIdAttr($query, $value)
|
||||
{
|
||||
$query->where('order_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 充值类型
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRechargeTypeAttr($query, $value)
|
||||
{
|
||||
$query->where('recharge_type', $value);
|
||||
}
|
||||
|
||||
/**退款金额
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRefundPriceAttr($query, $value)
|
||||
{
|
||||
$query->where('refund_price', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否支付
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPaidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('paid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 模糊搜索
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLikeAttr($query, $value)
|
||||
{
|
||||
$query->where(function ($query) use ($value) {
|
||||
$query->whereLike('uid|order_id', "%" . $value . "%")->whereOr('uid', 'in', function ($query) use ($value) {
|
||||
$query->name('user')->whereLike('nickname|real_name|phone', "%" . $value . "%")->field('uid')->select();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public function searchChannelTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('channel_type', $value);
|
||||
}
|
||||
}
|
||||
109
app/model/user/UserRelation.php
Normal file
109
app/model/user/UserRelation.php
Normal file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\model\user;
|
||||
|
||||
use app\model\activity\video\Community;
|
||||
use app\model\product\product\StoreProduct;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use crmeb\basic\BaseModel;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 用户点赞、收藏、分享(商品、短视频)model
|
||||
* Class UserRelation
|
||||
* @package app\model\product\product
|
||||
*/
|
||||
class UserRelation extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_relation';
|
||||
|
||||
/**
|
||||
* 关联商品
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function product()
|
||||
{
|
||||
return $this->hasOne(StoreProduct::class, 'id', 'relation_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联视频
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function video()
|
||||
{
|
||||
return $this->hasOne(Community::class, 'id', 'relation_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRelationIdAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('relation_id', $value);
|
||||
} else {
|
||||
$query->where('relation_id', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 类型搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('type', $value);
|
||||
} else {
|
||||
$query->where('type', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品类型搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchCategoryAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('category', $value);
|
||||
} else {
|
||||
$query->where('category', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
78
app/model/user/UserSearch.php
Normal file
78
app/model/user/UserSearch.php
Normal file
@@ -0,0 +1,78 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
|
||||
/**
|
||||
* Class UserSearch
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserSearch extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_search';
|
||||
|
||||
|
||||
/**
|
||||
* 获取搜索结果
|
||||
* @param $value
|
||||
* @return array|mixed
|
||||
*/
|
||||
public function getResultAttr($value)
|
||||
{
|
||||
return json_decode($value, true) ?? [];
|
||||
}
|
||||
|
||||
/**
|
||||
* UID搜索器
|
||||
* @param \think\db\Query $query 查询对象
|
||||
* @param mixed $value 搜索值
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关键词搜索器
|
||||
* @param \think\db\Query $query 查询对象
|
||||
* @param mixed $value 搜索值
|
||||
*/
|
||||
public function searchKeywordAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('keyword', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否删除搜索器
|
||||
* @param \think\db\Query $query 查询对象
|
||||
* @param mixed $value 搜索值
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('is_del', $value);
|
||||
}
|
||||
|
||||
}
|
||||
77
app/model/user/UserSign.php
Normal file
77
app/model/user/UserSign.php
Normal file
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* Class UserSign
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserSign extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_sign';
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('uid', $value);
|
||||
else
|
||||
$query->where('uid', $value);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* id
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIdAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('id', implode(',', $value));
|
||||
else
|
||||
$query->where('id', $value);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 时间
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchAddTimeAttr($query, $value)
|
||||
{
|
||||
if (is_string($value)) $query->whereTime('add_time', $value);
|
||||
if (is_array($value) && count($value) == 2) $query->whereTime('add_time', 'BETWEEN', $value);
|
||||
}
|
||||
}
|
||||
122
app/model/user/UserSpread.php
Normal file
122
app/model/user/UserSpread.php
Normal file
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
|
||||
use app\model\system\admin\SystemAdmin;
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* Class UserSpread
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserSpread extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_spread';
|
||||
|
||||
/**
|
||||
* 用户
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid')->field('uid,nickname,avatar')->bind([
|
||||
'nickname' => 'nickname',
|
||||
'avatar' => 'avatar'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 推荐人
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function spreadUser()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'spread_uid')->field('uid,nickname,avatar')->bind([
|
||||
'nickname' => 'nickname',
|
||||
'avatar' => 'avatar'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
* @return model\relation\HasOne
|
||||
*/
|
||||
public function admin()
|
||||
{
|
||||
return $this->hasOne(SystemAdmin::class, 'id', 'admin_id')->field('id,real_name')->bind([
|
||||
'real_name' => 'real_name'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('uid', $value);
|
||||
else
|
||||
$query->where('uid', $value);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 门店ID
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStoreIdAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('store_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 门店店员ID
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStaffIdAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('staff_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 推广人uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchSpreadUidAttr($query, $value)
|
||||
{
|
||||
if (is_array($value))
|
||||
$query->whereIn('spread_uid', $value);
|
||||
else
|
||||
$query->where('spread_uid', $value);
|
||||
|
||||
}
|
||||
}
|
||||
68
app/model/user/UserTaskFinish.php
Normal file
68
app/model/user/UserTaskFinish.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* Class UserTaskFinish
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserTaskFinish extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_task_finish';
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTaskIdAttr($query, $value)
|
||||
{
|
||||
$query->where('task_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
$query->where('status', $value);
|
||||
}
|
||||
|
||||
}
|
||||
46
app/model/user/UserVisit.php
Normal file
46
app/model/user/UserVisit.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
|
||||
/**
|
||||
* Class UserVisit
|
||||
* @package app\model\user
|
||||
*/
|
||||
class UserVisit extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_visit';
|
||||
|
||||
/**
|
||||
* 访问来源搜索器
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchChannelTypeAttr($query, $value)
|
||||
{
|
||||
if ($value != '') $query->where('channel_type', $value);
|
||||
}
|
||||
}
|
||||
261
app/model/user/channel/ChannelMerchant.php
Normal file
261
app/model/user/channel/ChannelMerchant.php
Normal file
@@ -0,0 +1,261 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\channel;
|
||||
|
||||
use app\model\user\User;
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 采购商模型
|
||||
* Class ChannelMerchant
|
||||
* @package app\model\user\channel
|
||||
*/
|
||||
class ChannelMerchant extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'channel_merchant';
|
||||
|
||||
/**
|
||||
* 审核状态
|
||||
* @var array
|
||||
*/
|
||||
public static $verifyStatusConfig = [
|
||||
0 => '待审核',
|
||||
1 => '审核通过',
|
||||
2 => '审核未通过'
|
||||
];
|
||||
|
||||
/**
|
||||
* 关联用户
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->hasOne(User::class, 'uid', 'uid');
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核状态获取器
|
||||
* @param $value
|
||||
* @return string
|
||||
*/
|
||||
public function getVerifyStatusNameAttr($value, $data)
|
||||
{
|
||||
return self::$verifyStatusConfig[$data['verify_status']] ?? '';
|
||||
}
|
||||
|
||||
/**
|
||||
* 地区获取器
|
||||
* @param $value
|
||||
* @return array
|
||||
*/
|
||||
public function getProvinceAttr($value)
|
||||
{
|
||||
return $value ? explode(',', $value) : [];
|
||||
}
|
||||
|
||||
public function getProvinceIdsAttr($value)
|
||||
{
|
||||
return $value ? explode(',', $value) : [];
|
||||
}
|
||||
|
||||
/**
|
||||
* 地区修改器
|
||||
* @param $value
|
||||
* @return string
|
||||
*/
|
||||
public function setProvinceAttr($value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
return implode(',', $value);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
public function setProvinceIdsAttr($value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
return implode(',', $value);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 资质照片获取器
|
||||
* @param $value
|
||||
* @return array
|
||||
*/
|
||||
public function getCertificateAttr($value)
|
||||
{
|
||||
return $value ? explode(',', $value) : [];
|
||||
}
|
||||
|
||||
/**
|
||||
* 资质照片修改器
|
||||
* @param $value
|
||||
* @return string
|
||||
*/
|
||||
public function setCertificateAttr($value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
return implode(',', $value);
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加时间获取器
|
||||
* @param $value
|
||||
* @return false|string
|
||||
*/
|
||||
public function getAddTimeAttr($value)
|
||||
{
|
||||
return $value ? date('Y-m-d H:i:s', $value) : '';
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核时间获取器
|
||||
* @param $value
|
||||
* @return false|string
|
||||
*/
|
||||
public function getVerifyTimeAttr($value)
|
||||
{
|
||||
return $value ? date('Y-m-d H:i:s', $value) : '';
|
||||
}
|
||||
|
||||
/**
|
||||
* 采购商名称搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchChannelNameAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->whereLike('channel_name', '%' . $value . '%');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 联系人搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRealNameAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->whereLike('real_name', '%' . $value . '%');
|
||||
}
|
||||
}
|
||||
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 联系电话搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPhoneAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->whereLike('phone', '%' . $value . '%');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核状态搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchVerifyStatusAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('verify_status', $value);
|
||||
} else {
|
||||
$query->where('verify_status', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('status', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 采购商身份搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchChannelTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('channel_type', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加时间范围搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchAddTimeAttr($query, $value)
|
||||
{
|
||||
if ($value && is_array($value) && count($value) == 2) {
|
||||
$query->whereBetween('add_time', [strtotime($value[0]), strtotime($value[1])]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 软删除搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('is_del', $value);
|
||||
}
|
||||
}
|
||||
|
||||
public function searchIsAdminAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('is_admin', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
112
app/model/user/channel/ChannelMerchantIdentity.php
Normal file
112
app/model/user/channel/ChannelMerchantIdentity.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
declare (strict_types=1);
|
||||
|
||||
namespace app\model\user\channel;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 采购商身份模型
|
||||
* Class ChannelMerchantIdentity
|
||||
* @package app\model\user\channel
|
||||
*/
|
||||
class ChannelMerchantIdentity extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'channel_merchant_identity';
|
||||
|
||||
/**
|
||||
* 添加时间获取器
|
||||
* @param $value
|
||||
* @return false|string
|
||||
*/
|
||||
public function getAddTimeAttr($value)
|
||||
{
|
||||
return $value ? date('Y-m-d H:i:s', $value) : '';
|
||||
}
|
||||
|
||||
public function searchIdAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('id', $value);
|
||||
} else {
|
||||
$query->where('id', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关键词搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchKeywordAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('name', 'like', '%' . $value . '%');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示状态搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsShowAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('is_show', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除状态搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('is_del', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 等级搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLevelAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('level', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 折扣搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchDiscountAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('discount', $value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
37
app/model/user/group/UserGroup.php
Normal file
37
app/model/user/group/UserGroup.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\group;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
|
||||
/**
|
||||
* 用户分组
|
||||
* Class UserGroup
|
||||
* @package app\model\user\group
|
||||
*/
|
||||
class UserGroup extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_group';
|
||||
}
|
||||
127
app/model/user/label/UserLabel.php
Normal file
127
app/model/user/label/UserLabel.php
Normal file
@@ -0,0 +1,127 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\label;
|
||||
|
||||
use app\model\other\Category;
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 用户标签
|
||||
* Class UserLabel
|
||||
* @package app\model\user\label
|
||||
*/
|
||||
class UserLabel extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_label';
|
||||
|
||||
|
||||
public function category()
|
||||
{
|
||||
return $this->hasOne(Category::class, 'id', 'label_cate')->bind(['cate_name' => 'name']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 标签分类
|
||||
* @param \think\Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLabelCateAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('label_cate', $value);
|
||||
} else {
|
||||
$query->where('label_cate', $value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* type搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('type', $value);
|
||||
}
|
||||
|
||||
|
||||
public function searchLabelNameAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->whereLike('label_name', "%{$value}%");
|
||||
}
|
||||
}
|
||||
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('status', $value);
|
||||
}
|
||||
|
||||
public function searchLabelTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('label_type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* store_id搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStoreIdAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('store_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ids搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIdsAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('id', $value);
|
||||
} else {
|
||||
$query->where('id', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchNotTagIdAttr($query, $value)
|
||||
{
|
||||
$query->where(function ($query) {
|
||||
$query->whereNull('tag_id')->whereOr('tag_id', '');
|
||||
});
|
||||
}
|
||||
}
|
||||
74
app/model/user/label/UserLabelCate.php
Normal file
74
app/model/user/label/UserLabelCate.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\label;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 标签分类
|
||||
* Class UserLabelCate
|
||||
* @package app\model\user\label
|
||||
*/
|
||||
class UserLabelCate extends BaseModel
|
||||
{
|
||||
/**
|
||||
* 表名
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_label_cate';
|
||||
|
||||
/**
|
||||
* 主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchNameAttr($query, $value)
|
||||
{
|
||||
$query->whereLike('name', '%' . $value . '%');
|
||||
}
|
||||
|
||||
/**
|
||||
* 一对多关联
|
||||
* @return \think\model\relation\HasMany
|
||||
*/
|
||||
public function label()
|
||||
{
|
||||
return $this->hasMany(UserLabel::class, 'label_cate', 'id');
|
||||
}
|
||||
|
||||
/**
|
||||
* type搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* store_id搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStoreIdAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->where('store_id', $value);
|
||||
}
|
||||
}
|
||||
139
app/model/user/label/UserLabelExtend.php
Normal file
139
app/model/user/label/UserLabelExtend.php
Normal file
@@ -0,0 +1,139 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\label;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 标签规则关联表
|
||||
* Class UserLabelExtend
|
||||
* @package app\model\user\label
|
||||
*/
|
||||
class UserLabelExtend extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_label_extend';
|
||||
|
||||
/**
|
||||
* label_id搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLabelIdAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('label_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* rule_type搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRuleTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('rule_type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* sub_type搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchSubTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('sub_type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* balance_type搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchBalanceTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('balance_type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* operation_type搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchOperationTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('operation_type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* time_dimension搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTimeDimensionAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('time_dimension', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* specify_dimension搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchSpecifyDimensionAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('specify_dimension', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* customer_identity搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchCustomerIdentityAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('customer_identity', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ids搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIdsAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->whereIn('id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联标签
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function label()
|
||||
{
|
||||
return $this->hasOne(UserLabel::class, 'id', 'label_id')->bind([
|
||||
'label_name' => 'label_name'
|
||||
]);
|
||||
}
|
||||
}
|
||||
107
app/model/user/label/UserLabelExtendRelation.php
Normal file
107
app/model/user/label/UserLabelExtendRelation.php
Normal file
@@ -0,0 +1,107 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\label;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 标签规则扩展表
|
||||
* Class UserLabelExtendRelation
|
||||
* @package app\model\user\label
|
||||
*/
|
||||
class UserLabelExtendRelation extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_label_extend_relation';
|
||||
|
||||
/**
|
||||
* type搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTypeAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('type', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* left_id搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLeftIdAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('left_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* right_id搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRightIdAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('right_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ids搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIdsAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->whereIn('id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* left_ids搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchLeftIdsAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->whereIn('left_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* right_ids搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRightIdsAttr($query, $value)
|
||||
{
|
||||
if ($value) $query->whereIn('right_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 关联标签扩展
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function labelExtend()
|
||||
{
|
||||
return $this->hasOne(UserLabelExtend::class, 'id', 'left_id');
|
||||
}
|
||||
}
|
||||
72
app/model/user/label/UserLabelRelation.php
Normal file
72
app/model/user/label/UserLabelRelation.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\label;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 用户关联标签
|
||||
* Class UserLabelRelation
|
||||
* @package app\model\user\label
|
||||
*/
|
||||
class UserLabelRelation extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_label_relation';
|
||||
|
||||
/**
|
||||
* @return \think\model\relation\HasOne
|
||||
*/
|
||||
public function label()
|
||||
{
|
||||
return $this->hasOne(UserLabel::class, 'id', 'label_id')->bind([
|
||||
'label_name' => 'label_name',
|
||||
'label_type' => 'label_type',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* uid搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
if($value !== ''){
|
||||
if(is_array($value)){
|
||||
$query->whereIn('uid', $value);
|
||||
}else{
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 门店id搜索器
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStoreIdAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('store_id', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
89
app/model/user/level/SystemUserLevel.php
Normal file
89
app/model/user/level/SystemUserLevel.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\level;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* 系统等级设置模型
|
||||
* Class SystemUserLevel
|
||||
* @package app\model\user\level
|
||||
*/
|
||||
class SystemUserLevel extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'system_user_level';
|
||||
|
||||
/**
|
||||
* 时间获取器
|
||||
* @param $value
|
||||
* @return false|string
|
||||
*/
|
||||
public function getAddTimeAttr($value)
|
||||
{
|
||||
return date('Y-m-d H:i:s', (int)$value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 优惠比例获取器
|
||||
* @param $value
|
||||
* @return int
|
||||
*/
|
||||
public function getDiscountAttr($value)
|
||||
{
|
||||
return (int)$value;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否展示
|
||||
* @param \think\Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsShowAttr($query, $value)
|
||||
{
|
||||
$query->where('is_show',$value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否删除搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
* @param $data
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
$query->where('is_del', $value ?? 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTitleAttr($query, $value)
|
||||
{
|
||||
$query->where('title','LIKE', "%$value%");
|
||||
}
|
||||
|
||||
}
|
||||
37
app/model/user/level/SystemUserTask.php
Normal file
37
app/model/user/level/SystemUserTask.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\level;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
|
||||
/**
|
||||
* 用户等级任务
|
||||
* Class SystemUserTask
|
||||
* @package app\model\user\level
|
||||
*/
|
||||
class SystemUserTask extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'system_user_task';
|
||||
}
|
||||
108
app/model/user/level/UserLevel.php
Normal file
108
app/model/user/level/UserLevel.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\level;
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\model;
|
||||
|
||||
/**
|
||||
* 用户等级
|
||||
* Class UserLevel
|
||||
* @package app\model\user\level
|
||||
*/
|
||||
class UserLevel extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'user_level';
|
||||
|
||||
public function levelInfo()
|
||||
{
|
||||
return $this->hasOne(SystemUserLevel::class, 'id', 'level_id')->where('is_del', 0);
|
||||
}
|
||||
|
||||
public function levelDiscount()
|
||||
{
|
||||
return $this->hasOne(SystemUserLevel::class, 'id', 'level_id')->where('is_del', 0)->field('id,discount')->bind(['discount_num' => 'discount']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUidAttr($query, $value)
|
||||
{
|
||||
$query->where('uid', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否永久
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsForeverAttr($query, $value)
|
||||
{
|
||||
$query->where('is_forever', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 过期时间
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchValidTimeAttr($query, $value)
|
||||
{
|
||||
$query->where('valid_time', '>', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
$query->where('status', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否通知
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRemindAttr($query, $value)
|
||||
{
|
||||
$query->where('remind', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
$query->where('is_del', $value);
|
||||
}
|
||||
}
|
||||
119
app/model/user/member/MemberCard.php
Normal file
119
app/model/user/member/MemberCard.php
Normal file
@@ -0,0 +1,119 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\member;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* Class MemberCard
|
||||
* @package app\model\user\member
|
||||
*/
|
||||
class MemberCard extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'member_card';
|
||||
|
||||
protected $insert = ['add_time', 'update_time'];
|
||||
|
||||
protected $hidden = ['update_time'];
|
||||
|
||||
protected $updateTime = false;
|
||||
|
||||
/**
|
||||
* 卡号搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchCardNumberAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
$query->whereLike('card_number', '%' . $value . '%');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户uid搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUseUidAttr($query, $value)
|
||||
{
|
||||
if (is_array($value)) {
|
||||
$query->whereIn('use_uid', $value);
|
||||
} else {
|
||||
$query->where('use_uid', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 手机号搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchPhoneAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
$query->whereIn('use_uid', function ($query) use ($value) {
|
||||
$query->name('user')->whereLike('phone', $value . '%')->field('uid')->select();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 批次id搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchBatchCardIdAttr($query, $value)
|
||||
{
|
||||
$query->where('card_batch_id', $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户use_time搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchUseTimeAttr($query, $value)
|
||||
{
|
||||
if ($value > 0) {
|
||||
$query->where('use_time', '>', 0);
|
||||
}
|
||||
if ($value == 0) {
|
||||
$query->where('use_time', 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function searchIsStatusAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('status', $value);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
66
app/model/user/member/MemberCardBatch.php
Normal file
66
app/model/user/member/MemberCardBatch.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\member;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
|
||||
/**
|
||||
* Class MemberCardBatch
|
||||
* @package app\model\user\member
|
||||
*/
|
||||
class MemberCardBatch extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'member_card_batch';
|
||||
|
||||
protected $insert = ['add_time'];
|
||||
|
||||
protected $hidden = ['update_time'];
|
||||
|
||||
protected $updateTime = false;
|
||||
|
||||
/**
|
||||
* 卡批次名称搜索器
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchTitleAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') {
|
||||
$query->where('title', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化数据
|
||||
* @param $value
|
||||
* @return array|mixed
|
||||
*/
|
||||
public function getQrcodeAttr($value)
|
||||
{
|
||||
$value = $value ? json_decode($value, true) : [];
|
||||
return is_array($value) ? $value : [];
|
||||
}
|
||||
}
|
||||
61
app/model/user/member/MemberRight.php
Normal file
61
app/model/user/member/MemberRight.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\member;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
|
||||
/**
|
||||
* Class MemberRight
|
||||
* @package app\model\user\member
|
||||
*/
|
||||
class MemberRight extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'member_right';
|
||||
|
||||
/**
|
||||
* 状态搜索器
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchStatusAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('status', $value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 状态搜索器
|
||||
* @param $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchRightTypeAttr($query, $value)
|
||||
{
|
||||
if ($value) {
|
||||
$query->where('right_type', $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
47
app/model/user/member/MemberShip.php
Normal file
47
app/model/user/member/MemberShip.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2016~2026 https://www.crmeb.com All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: CRMEB Team <admin@crmeb.com>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model\user\member;
|
||||
|
||||
|
||||
use crmeb\basic\BaseModel;
|
||||
use crmeb\traits\ModelTrait;
|
||||
use think\Model;
|
||||
|
||||
/**
|
||||
* Class MemberShip
|
||||
* @package app\model\user\member
|
||||
*/
|
||||
class MemberShip extends BaseModel
|
||||
{
|
||||
use ModelTrait;
|
||||
|
||||
/**
|
||||
* 数据表主键
|
||||
* @var string
|
||||
*/
|
||||
protected $pk = 'id';
|
||||
|
||||
/**
|
||||
* 模型名称
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'member_ship';
|
||||
|
||||
/**
|
||||
* @param Model $query
|
||||
* @param $value
|
||||
*/
|
||||
public function searchIsDelAttr($query, $value)
|
||||
{
|
||||
if ($value !== '') $query->where('is_del', $value);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user