优化:指定用户是否为有效员工判断条件优化,兼容总平台判断

This commit is contained in:
wuhui_zzw 2024-01-22 11:43:44 +08:00
parent 1550d8bf6e
commit 33fb06bd45
4 changed files with 17 additions and 11 deletions

View File

@ -248,25 +248,31 @@ class StoreServiceRepository extends BaseRepository
return $key; return $key;
} }
/** /**
* Common: 判断:指定用户是否为有效员工 * Common: 判断:指定用户是否为有效员工
* Author: wu-hui * Author: wu-hui
* Time: 2024/01/19 15:56 * Time: 2024/01/22 11:35
* @param int $uid * @param int $uid
* @param int $id * @param int $id
* @param int $merId
* @return bool * @return bool
*/ */
public function isService(int $uid,int $id = 0):bool{ public function isService(int $uid,int $id = 0,int $merId = 0):bool{
$count = $this->dao->getSearch([]) $count = $this->dao->getSearch([])
->hasWhere('merchant',function($query){ ->hasWhere('merchant',function($query){
$query->where('is_del', 0); $query->where('is_del', 0);
}) })
->where('StoreService.uid',$uid) ->where('StoreService.uid',$uid)
->where('StoreService.is_del', 0) ->where('StoreService.is_del', 0)
->when($id > 0,function($query) use ($id){ ->when((int)$id > 0,function($query) use ($id){
$query->where('StoreService.service_id','<>',$id); $query->where('StoreService.service_id','<>',$id);
})->count(); })
->when((int)$merId > 0,function($query) use ($merId){
$query->where('StoreService.mer_id','>',$merId);
},function($query){
$query->where('StoreService.mer_id', 0);
})
->count();
return $count > 0; return $count > 0;
} }
@ -279,7 +285,7 @@ class StoreServiceRepository extends BaseRepository
*/ */
public function createInfo($data){ public function createInfo($data){
// 内容校验 // 内容校验
if($this->isService($data['uid'])) throw new ValidateException('该用户已绑定商户!'); if($this->isService($data['uid'], 0, $data['mer_id'])) throw new ValidateException('该用户已绑定商户!');
if($this->dao->fieldExists('account', $data['account'])) throw new ValidateException('账号已存在!'); if($this->dao->fieldExists('account', $data['account'])) throw new ValidateException('账号已存在!');
// 数据添加 // 数据添加
$data['pwd'] = password_hash($data['pwd'], PASSWORD_BCRYPT); $data['pwd'] = password_hash($data['pwd'], PASSWORD_BCRYPT);
@ -297,7 +303,7 @@ class StoreServiceRepository extends BaseRepository
public function updateInfo($id,$data){ public function updateInfo($id,$data){
// 内容校验 // 内容校验
if (!$this->dao->merExists($data['mer_id'], $id)) throw new ValidateException('数据不存在!'); if (!$this->dao->merExists($data['mer_id'], $id)) throw new ValidateException('数据不存在!');
if($this->isService($data['uid'], $id)) throw new ValidateException('该用户已绑定商户!'); if($this->isService($data['uid'], $id, $data['mer_id'])) throw new ValidateException('该用户已绑定商户!');
if($this->dao->fieldExists('account', $data['account'], $id)) throw new ValidateException('账号已存在!'); if($this->dao->fieldExists('account', $data['account'], $id)) throw new ValidateException('账号已存在!');
// 数据修改 // 数据修改
if ($data['pwd']) $data['pwd'] = password_hash($data['pwd'], PASSWORD_BCRYPT); if ($data['pwd']) $data['pwd'] = password_hash($data['pwd'], PASSWORD_BCRYPT);

View File

@ -43,7 +43,7 @@ class UserMerchantRepository extends BaseRepository
$item->svip_endtime = date('Y-m-d H:i:s', strtotime("+100 year")); $item->svip_endtime = date('Y-m-d H:i:s', strtotime("+100 year"));
$item->merchant_integral = $integralMake->getMerIntegral((int)$item->uid,(int)$where['mer_id']); $item->merchant_integral = $integralMake->getMerIntegral((int)$item->uid,(int)$where['mer_id']);
// 当前用户是否已经绑定店员身份 // 当前用户是否已经绑定店员身份
$item->is_store_service = (int)app()->make(StoreServiceRepository::class)->isService((int)$item->uid); $item->is_store_service = (int)app()->make(StoreServiceRepository::class)->isService((int)$item->uid, 0, 1);
return $item; return $item;
}); });

View File

@ -107,7 +107,7 @@ class MerchantIntention extends BaseController
$typeIsHas = app()->make(MerchantTypeRepository::class)->exists($data['mer_type_id']); $typeIsHas = app()->make(MerchantTypeRepository::class)->exists($data['mer_type_id']);
if($data['mer_type_id'] && !$typeIsHas) throw new ValidateException('店铺类型不存在'); if($data['mer_type_id'] && !$typeIsHas) throw new ValidateException('店铺类型不存在');
// 判断:当前管理员身份是否有效 // 判断:当前管理员身份是否有效
$isService = app()->make(StoreServiceRepository::class)->isService($data['manage_uid'], $id);// 是否存在店员信息 $isService = app()->make(StoreServiceRepository::class)->isService($data['manage_uid'], $id, 1);// 是否存在店员信息
if($isService) throw new ValidateException('管理员身份无效,已成为其他商户管理员或店员!'); if($isService) throw new ValidateException('管理员身份无效,已成为其他商户管理员或店员!');
$isManage = app()->make(repository::class)->isManage($data['manage_uid'], $id);// 是否存在审核中店长信息 $isManage = app()->make(repository::class)->isManage($data['manage_uid'], $id);// 是否存在审核中店长信息
if($isManage) throw new ValidateException('管理员身份无效,已成为其他商户管理员!'); if($isManage) throw new ValidateException('管理员身份无效,已成为其他商户管理员!');
@ -148,7 +148,7 @@ class MerchantIntention extends BaseController
'msg' => '有效' 'msg' => '有效'
]; ];
// 判断:当前管理员身份是否有效 // 判断:当前管理员身份是否有效
$isService = app()->make(StoreServiceRepository::class)->isService((int)$data['manage_uid'], (int)$data['service_id']);// 是否存在店员信息 $isService = app()->make(StoreServiceRepository::class)->isService((int)$data['manage_uid'], (int)$data['service_id'], 1);// 是否存在店员信息
if($isService){ if($isService){
$returnData = [ $returnData = [
'is_eligible' => false, 'is_eligible' => false,

View File

@ -98,7 +98,7 @@ class StoreService extends BaseController
'pwd', 'pwd',
'confirm_pwd', 'confirm_pwd',
'is_open', 'is_open',
'status', ['status',0],
'customer', 'customer',
'is_verify', 'is_verify',
'is_goods', 'is_goods',