优化:判断用户是否已经成为商户员工时 区分商户类别 每个类别只能存在一个员工信息

This commit is contained in:
wuhui_zzw 2024-07-12 13:50:31 +08:00
parent bae34e6a4d
commit a7aab6174b
3 changed files with 19 additions and 15 deletions

View File

@ -350,20 +350,20 @@ class StoreServiceRepository extends BaseRepository
Cache::set('ser_captcha' . $key, $code, Config::get('admin.captcha_exp', 5) * 60); Cache::set('ser_captcha' . $key, $code, Config::get('admin.captcha_exp', 5) * 60);
return $key; return $key;
} }
/** /**
* Common: 判断:指定用户是否为有效员工 * Common: 判断:指定用户是否为有效员工
* Author: wu-hui * Author: wu-hui
* Time: 2024/01/22 11:35 * Time: 2024/01/22 11:35
* @param int $uid * @param int $uid
* @param int $id * @param int $id
* @param int $merId * @param int $merId
* @param string $merchantType
* @return bool * @return bool
*/ */
public function isService(int $uid,int $id = 0,int $merId = 0):bool{ public function isService(int $uid,int $id = 0,int $merId = 0, $merchantType = 0):bool{
$count = $this->dao->getSearch([]) $count = $this->dao->getSearch([])
->hasWhere('merchant',function($query){ ->hasWhere('merchant',function($query) use ($merchantType){
$query->where('is_del', 0)->where('merchant_type', 0); $query->where('is_del', 0)->where('merchant_type', $merchantType);
}) })
->where('StoreService.uid',$uid) ->where('StoreService.uid',$uid)
->where('StoreService.is_del', 0) ->where('StoreService.is_del', 0)

View File

@ -198,23 +198,27 @@ class MerchantIntentionRepository extends BaseRepository
$intention->save($data); $intention->save($data);
}); });
} }
/** /**
* Common: 判断:指定用户是否存在审核中店铺的管理员信息 * Common: 判断:指定用户是否存在审核中店铺的管理员信息
* Author: wu-hui * Author: wu-hui
* Time: 2024/01/19 15:59 * Time: 2024/01/19 15:59
* @param int $uid * @param int $uid
* @param int $id * @param int $id
* @param string $merchantType
* @return bool * @return bool
*/ */
public function isManage(int $uid,int $id = 0):bool{ public function isManage(int $uid,int $id = 0, $merchantType = ''):bool{
$count = $this->dao->getSearch([]) $count = $this->dao->getSearch([])
->where('manage_uid',$uid) ->where('manage_uid',$uid)
->where('status',0) ->where('status',0)
->where('is_del',0) ->where('is_del',0)
->when($id > 0,function($query) use ($id){ ->when($id > 0,function($query) use ($id){
$query->where('mer_intention_id','<>',$id); $query->where('mer_intention_id','<>',$id);
})->count(); })
->when(isset($merchantType) && $merchantType !== '',function($query) use ($merchantType){
$query->where('merchant_type',$merchantType);
})
->count();
return $count > 0; return $count > 0;
} }

View File

@ -148,20 +148,20 @@ class MerchantIntention extends BaseController
* @return mixed * @return mixed
*/ */
public function manageIsEligible(){ public function manageIsEligible(){
$data = $this->request->params(['service_id', 'mer_intention_id' ,'manage_uid']); $data = $this->request->params(['service_id', 'mer_intention_id' , 'manage_uid', 'merchant_type']);
$returnData = [ $returnData = [
'is_eligible' => true, 'is_eligible' => true,
'msg' => '有效' 'msg' => '有效'
]; ];
// 判断:当前管理员身份是否有效 // 判断:当前管理员身份是否有效
$isService = app()->make(StoreServiceRepository::class)->isService((int)$data['manage_uid'], (int)$data['service_id'], 1);// 是否存在店员信息 $isService = app()->make(StoreServiceRepository::class)->isService((int)$data['manage_uid'], (int)$data['service_id'], 1, $data['merchant_type']);// 是否存在店员信息
if($isService){ if($isService){
$returnData = [ $returnData = [
'is_eligible' => false, 'is_eligible' => false,
'msg' => '管理员身份无效,已成为其他商户管理员或店员!' 'msg' => '管理员身份无效,已成为其他商户管理员或店员!'
]; ];
} }
$isManage = app()->make(repository::class)->isManage((int)$data['manage_uid'], (int)$data['mer_intention_id']);// 是否存在审核中店长信息 $isManage = app()->make(repository::class)->isManage((int)$data['manage_uid'], (int)$data['mer_intention_id'], $data['merchant_type']);// 是否存在审核中店长信息
if($isManage) { if($isManage) {
$returnData = [ $returnData = [
'is_eligible' => false, 'is_eligible' => false,