CRMEB/crmeb/app/admin/model/system/SystemStoreStaff.php
2020-07-04 18:38:20 +08:00

90 lines
2.4 KiB
PHP

<?php
namespace app\admin\model\system;
use app\admin\model\user\User;
use crmeb\traits\ModelTrait;
use crmeb\basic\BaseModel;
use crmeb\services\PHPExcelService;
/**
* 店员 model
* Class SystemStore
* @package app\admin\model\system
*/
class SystemStoreStaff extends BaseModel
{
use ModelTrait;
/**
* 数据表主键
* @var string
*/
protected $pk = 'id';
/**
* 模型名称
* @var string
*/
protected $name = 'system_store_staff';
protected function getAddTimeAttr($value)
{
if ($value) $value = date('Y-m-d H:i:s', $value);
return $value;
}
/**
* 获取门店列表
* @param $where
* @return array
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public static function lst($where)
{
$model = self::page((int)$where['page'], (int)$where['limit']);
if (isset($where['store_id']) && $where['store_id'] != '') {
$model = $model->where('store_id', $where['store_id']);
}
// if (isset($where['type']) && $where['type'] != '' && ($data = self::setData($where['type']))) {
// $model = $model->where($data);
// }
$model = $model->alias('a')
->join('wechat_user u', 'u.uid=a.uid')
->join('system_store s', 'a.store_id = s.id')
->field('a.id,u.nickname,a.avatar,a.staff_name,a.status,a.add_time,s.name');
$data = $model->select();
$count = $data->count();
return compact('count', 'data');
}
/**
* 设置查找店员条件
* @param array $where
* @return $this
*/
public static function staffWhere(array $where = [])
{
$model = User::where('uid', 'not in', function ($query) {
$query->name('system_store_staff')->field('uid')->select();
});
if (isset($where['nickname']) && $where['nickname']) {
$model->where('nickname|phone', 'like', "%$where[nickname]%");
}
return $model;
}
/**
* 获取选择的商城用户
*/
public static function getUserList($page = 1, $limit = 10, $nickname = '')
{
$list = self::staffWhere(['nickname' => $nickname])->page($page, $limit)->select();
$count = self::staffWhere(['nickname' => $nickname])->count();
return ['data' => $list, 'count' => $count];
}
}