ソースを参照

房源管理员不能删除bug

zhujinghui 4 年 前
コミット
c071452c88

+ 17 - 6
fcb-project-manager-core/src/main/java/fcb/project/manager/core/controller/HouseManagerController.java

@@ -1,7 +1,6 @@
 package fcb.project.manager.core.controller;
 
 import com.alibaba.fastjson.JSON;
-import com.aliyun.oss.internal.OSSUtils;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import fcb.project.manager.base.entity.*;
 import fcb.project.manager.base.enums.AuditStatus;
@@ -36,9 +35,6 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
-import java.net.URLEncoder;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
@@ -596,8 +592,7 @@ public class HouseManagerController extends BaseController{
             }
         }
 
-        ContextTokenBean tokenMap = getContextUserInfo();
-        if(!dbHouse.getCreateById().equals(tokenMap.getId())){
+        if(!isCanDelete(dbHouse)){
             return Result.failure("暂无删除权限");
         }
 
@@ -636,6 +631,22 @@ public class HouseManagerController extends BaseController{
 
     }
 
+    /**
+     * 是否可以删除的条件
+     * 1.地区管理员和集团管理员、超级管理员能删除下属或自己的模型
+     * 2.拍摄人员只能删除自己的模型
+     * @param dbHouse
+     * @return
+     */
+    private boolean isCanDelete(TmHouse dbHouse) {
+        ContextTokenBean user = getContextUserInfo();
+        if (SysUserRoleEnums.REGION_SHOOT.getRoleKey().equals(user.getRoleKey())
+                && !dbHouse.getCreateById().equals(user.getId())) {
+            return false;
+        }
+        return true;
+    }
+
     @PostMapping("/updateHouse")
     @ApiOperation(value = "修改房源信息")
     public Result<Object> updateHouse(@RequestBody TmHouse tmHouse){