120 lines
3.6 KiB
PHP
120 lines
3.6 KiB
PHP
<?php
|
||
|
||
// +----------------------------------------------------------------------
|
||
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
// +----------------------------------------------------------------------
|
||
// | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
|
||
// +----------------------------------------------------------------------
|
||
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
// +----------------------------------------------------------------------
|
||
// | Author: CRMEB Team <admin@crmeb.com>
|
||
// +----------------------------------------------------------------------
|
||
|
||
|
||
namespace app\common\repositories\system\attachment;
|
||
|
||
|
||
//附件
|
||
use app\common\dao\BaseDao;
|
||
use app\common\dao\system\attachment\AttachmentDao;
|
||
use app\common\repositories\BaseRepository;
|
||
use FormBuilder\Factory\Elm;
|
||
use think\db\exception\DataNotFoundException;
|
||
use think\db\exception\DbException;
|
||
use think\db\exception\ModelNotFoundException;
|
||
use think\facade\Route;
|
||
use think\Model;
|
||
|
||
|
||
/**
|
||
* 附件
|
||
*/
|
||
class AttachmentRepository extends BaseRepository
|
||
{
|
||
/**
|
||
* @var AttachmentCategoryRepository
|
||
*/
|
||
private $attachmentCategoryRepository;
|
||
|
||
/**
|
||
* AttachmentRepository constructor.
|
||
* @param AttachmentDao $dao
|
||
* @param AttachmentCategoryRepository $attachmentCategoryRepository
|
||
*/
|
||
public function __construct(AttachmentDao $dao, AttachmentCategoryRepository $attachmentCategoryRepository)
|
||
{
|
||
/**
|
||
* @var AttachmentDao
|
||
*/
|
||
$this->dao = $dao;
|
||
$this->attachmentCategoryRepository = $attachmentCategoryRepository;
|
||
}
|
||
|
||
|
||
/**
|
||
* @param array $where
|
||
* @param int $page
|
||
* @param int $limit
|
||
* @return array
|
||
* @throws DataNotFoundException
|
||
* @throws DbException
|
||
* @throws ModelNotFoundException
|
||
* @author xaboy
|
||
* @day 2020-04-15
|
||
*/
|
||
public function getList(array $where, int $page, int $limit)
|
||
{
|
||
$query = $this->search($where);
|
||
$count = $query->count($this->dao->getPk());
|
||
$list = $query->page($page, $limit)->hidden(['upload_type', 'user_type', 'user_id'])
|
||
->select();
|
||
return compact('count', 'list');
|
||
}
|
||
|
||
/**
|
||
* @param int $uploadType
|
||
* @param int $userType
|
||
* @param int $userId
|
||
* @param array $data
|
||
* @return BaseDao|Model
|
||
* @author xaboy
|
||
* @day 2020-04-15
|
||
*/
|
||
public function create(int $uploadType, int $userType, int $userId, array $data)
|
||
{
|
||
$data['upload_type'] = $uploadType;
|
||
$data['user_type'] = $userType;
|
||
$data['user_id'] = $userId;
|
||
return $this->dao->create($data);
|
||
}
|
||
|
||
/**
|
||
* @param array $ids
|
||
* @param int $categoryId
|
||
* @param int $merId
|
||
* @return int
|
||
* @throws DbException
|
||
* @author xaboy
|
||
* @day 2020-04-16
|
||
*/
|
||
public function batchChangeCategory(array $ids, int $categoryId, $merId = 0)
|
||
{
|
||
return $this->dao->batchChange($ids, ['attachment_category_id' => $categoryId], $merId);
|
||
}
|
||
|
||
public function form(int $id, int $merId)
|
||
{
|
||
if ($merId) {
|
||
$action = 'merchantAttachmentUpdate';
|
||
} else {
|
||
$action = 'systemAttachmentUpdate';
|
||
}
|
||
$formData = $this->dao->get($id)->toArray();
|
||
$form = Elm::createForm(Route::buildUrl($action, is_null($id) ? [] : ['id' => $id])->build());
|
||
$form->setRule([
|
||
Elm::input('attachment_name', '名称:')->placeholder('请输入名称')->required(),
|
||
]);
|
||
return $form->setTitle('编辑配置')->formData($formData);
|
||
}
|
||
}
|