// +---------------------------------------------------------------------- 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', '微信号:')->placeholder('请输入微信号')->required(), Elm::input('nickname', '微信昵称:')->placeholder('请输入微信昵称')->required(), Elm::input('mark', '备注:')->placeholder('请输入备注'), ]; $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'); } }