diff --git a/app/common/dao/system/admin/PartnerDao.php b/app/common/dao/system/admin/PartnerDao.php index 171f476..a633b3c 100644 --- a/app/common/dao/system/admin/PartnerDao.php +++ b/app/common/dao/system/admin/PartnerDao.php @@ -63,5 +63,15 @@ class PartnerDao extends BaseDao ->find(); } + public function getAll() + { + return Partner::getDB()->where('status', 1)->order('id desc')->field('')->select()->toArray(); + } + + public function exists(int $id) + { + return $this->existsWhere(['id' => $id]); + } + } diff --git a/app/common/repositories/system/admin/PartnerRepository.php b/app/common/repositories/system/admin/PartnerRepository.php index 924a3ea..7a96764 100644 --- a/app/common/repositories/system/admin/PartnerRepository.php +++ b/app/common/repositories/system/admin/PartnerRepository.php @@ -113,7 +113,10 @@ class PartnerRepository extends BaseRepository public function existsUser(int $id) { return $this->dao->existsUser($id); + } + + } diff --git a/app/common/repositories/user/UserPartnerRepository.php b/app/common/repositories/user/UserPartnerRepository.php index 5bc51ef..aa8f7ca 100644 --- a/app/common/repositories/user/UserPartnerRepository.php +++ b/app/common/repositories/user/UserPartnerRepository.php @@ -13,8 +13,13 @@ namespace app\common\repositories\user; +use app\common\model\user\UserPartner; use app\common\repositories\BaseRepository; use app\common\dao\user\UserPartnerDao as dao; +use app\common\dao\system\admin\PartnerDao; +use FormBuilder\Factory\Elm; +use think\facade\Db; +use think\facade\Route; /** * Class UserAddressRepository @@ -64,4 +69,29 @@ class UserPartnerRepository extends BaseRepository $list = $this->dao->getAll($uid)->order('id desc')->select(); return compact('list'); } + + public function changePartnerForm($uid) + { + /** @var UserLabelRepository $make */ + $list = $this->dao->getAll($uid)->column('partner_id'); + $partnerForm = new PartnerDao(); + $option = $partnerForm->getAll(); + return compact('list', 'option'); + } + + public function editPartner(int $uid, array $partner_id = []) + { + return Db::transaction(function () use ($uid, $partner_id) { + //先清空 + UserPartner::getInstance()->where('uid', $uid)->delete(); + //再插入 + if (!empty($partner_id)) { + $data = []; + foreach ($partner_id as $k => $v) { + $data[] = ['uid' => $uid, 'partner_id' => $v,'create_time' => date("Y-m-d H:i:s")]; + } + UserPartner::getInstance()->insertAll($data); + } + }); + } } diff --git a/route/admin/user.php b/route/admin/user.php index 2fe54d3..53e8c49 100644 --- a/route/admin/user.php +++ b/route/admin/user.php @@ -176,6 +176,14 @@ Route::group(function () { Route::post('svip/:id', '/svipUpdate')->name('systemUserSvipUpdate')->option([ '_alias' => '用户标签编辑', ]); + //合作人角色 + Route::get('partner/:id', '/getPartner')->name('systemUserGetPartner')->option([ + '_alias' => '获取合作人角色', + ]); + Route::post('partner/edit', '/changePartner')->name('systemUserChangePartner')->option([ + '_alias' => '用户合作人角色编辑', + ]); + })->prefix('admin.user.User')->option([ '_path' => '/user/list',