chenxiaofei пре 2 месеци
родитељ
комит
c204e3cfd9

+ 20 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -117,6 +117,10 @@ public class KwsUserService {
      */
     @Transactional(rollbackFor = {})
     public void add(UserAddReqVo reqVo) {
+        // 平台端用户只能新增平台员工,不能新增企业员工
+        if (LoginUserHolder.isManager() && !Objects.equals(reqVo.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+            throw new BusinessException("平台端只能新增平台员工数据");
+        }
         commonService.checkPhone(reqVo.getAccount());
         KwsUser kwsUser = new KwsUser();
         BeanUtils.copyProperties(reqVo, kwsUser);
@@ -321,6 +325,10 @@ public class KwsUserService {
             }
             KwsUser kwsUser = kwsUserDao.selectByKey(Long.parseLong(id));
             if (null != kwsUser) {
+                // 平台端用户只能删除平台员工,不能删除企业员工
+                if (LoginUserHolder.isManager() && !Objects.equals(kwsUser.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+                    throw new BusinessException("平台端只能删除平台员工数据");
+                }
                 if (!LoginUserHolder.isManager()) {
                     if (Objects.equals(kwsUser.getIsMain(), 1)) {//企业管理员用户,默认用户不允许删除
                         throw new BusinessException(String.format("默认企业管理员账号[%s]不允许删除", kwsUser.getName()));
@@ -346,6 +354,10 @@ public class KwsUserService {
         if (Objects.isNull(kwsUser)) {
             throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ACCOUNT_NOT_EXISTS);
         }
+        // 平台端用户只能修改平台员工,不能修改企业员工
+        if (LoginUserHolder.isManager() && !Objects.equals(kwsUser.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+            throw new BusinessException("平台端只能修改平台员工数据");
+        }
         if (!LoginUserHolder.isManager()) {
             if (Objects.equals(kwsUser.getIsMain(), 1)) {//企业管理员用户,只修改名称和备注,归属企业和角色都不允许修改。
                 kwsUser.setRemark(params.getRemark());
@@ -632,8 +644,14 @@ public class KwsUserService {
      * @date: 2023/7/3
      */
     public void closeAccount(Long id) {
-        KwsUser kwsUser = new KwsUser();
-        kwsUser.setId(id);
+        KwsUser kwsUser = kwsUserDao.selectByKey(id);
+        if (Objects.isNull(kwsUser)) {
+            throw new SystemException(HttpStatus.QUERY_FAIL_CODE, HttpStatus.ACCOUNT_NOT_EXISTS);
+        }
+        // 平台端用户只能注销平台员工,不能注销企业员工
+        if (LoginUserHolder.isManager() && !Objects.equals(kwsUser.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+            throw new BusinessException("平台端只能注销平台员工数据");
+        }
         kwsUser.setDelFlag(Global.YES);
         if (kwsUserDao.updateById(kwsUser) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.DELETE_FAIL);