admin-api/app/common/repositories/store/broadcast/BroadcastAssistantRepositor...

65 lines
1.8 KiB
PHP

<?php
namespace app\common\repositories\store\broadcast;
use app\common\dao\store\broadcast\BroadcastAssistantDao;
use app\common\repositories\BaseRepository;
use crmeb\services\MiniProgramService;
use FormBuilder\Exception\FormBuilderException;
use think\facade\Route;
use FormBuilder\Factory\Elm;
use FormBuilder\Form;
class BroadcastAssistantRepository extends BaseRepository
{
/**
* @var BroadcastAssistantDao
*/
protected $dao;
public function __construct(BroadcastAssistantDao $dao)
{
$this->dao = $dao;
}
public function form(?int $id)
{
$formData = [];
if ($id) {
$form = Elm::createForm(Route::buildUrl('merchantBroadcastAssistantUpdate', ['id' => $id])->build());
$data = $this->dao->get($id);
if (!$data) throw new FormBuilderException('数据不存在');
$formData = $data->toArray();
} else {
$form = Elm::createForm(Route::buildUrl('merchantBroadcastAssistantCreate')->build());
}
$rules = [
Elm::input('username', '微信号')->required(),
Elm::input('nickname', '微信昵称')->required(),
Elm::input('mark', '备注'),
];
$form->setRule($rules);
return $form->setTitle(is_null($id) ? '添加小助手账号' : '编辑小助手账号')->formData($formData);
}
public function getList($where, int $page, int $limit)
{
$query = $this->dao->getSearch($where);
$count = $query->count('*');
$list = $query->page($page, $limit)->select();
return compact('count','list');
}
public function options(int $merId)
{
return $this->dao->getSearch(['mer_id' => $merId])->column('nickname','assistant_id');
}
}