浏览代码

数据资源目录增删改查

vincent 3 年之前
父节点
当前提交
15b7369954

+ 85 - 6
server/src/main/java/edp/davinci/controller/CatalogueController.java

@@ -4,11 +4,9 @@ import edp.core.annotation.CurrentUser;
 import edp.davinci.common.controller.BaseController;
 import edp.davinci.core.common.Constants;
 import edp.davinci.core.common.ResultMap;
-import edp.davinci.dto.viewDto.ViewBaseInfo;
 import edp.davinci.model.Catalogue;
 import edp.davinci.model.User;
 import edp.davinci.service.CatalogueService;
-import edp.davinci.service.ViewService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -17,13 +15,12 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.validation.Valid;
 import java.util.List;
 
 @Api(value = "/catalogue", tags = "check", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@@ -59,4 +56,86 @@ public class CatalogueController extends BaseController
         return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payloads(views));
     }
 
+    /**
+     * 新建catalogue
+     *
+     * @param catalogue
+     * @param bindingResult
+     * @param user
+     * @param request
+     * @return
+     */
+    @ApiOperation(value = "create catalogue")
+    @PostMapping(value = "/createCatalogue",consumes = MediaType.APPLICATION_JSON_VALUE)
+    public ResponseEntity createCatalogue(@Valid @RequestBody Catalogue catalogue,
+                                     @ApiIgnore BindingResult bindingResult,
+                                     @ApiIgnore @CurrentUser User user,
+                                     HttpServletRequest request) {
+
+        if (bindingResult.hasErrors()) {
+            ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
+            return ResponseEntity.status(resultMap.getCode()).body(resultMap);
+        }
+
+        Catalogue catalogueInfo = catalogueService.createCatalogue(catalogue, user);
+
+        return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request).payload(catalogueInfo));
+    }
+
+    /**
+     * 修改catalogue
+     *
+     * @param id
+     * @param catalogue
+     * @param bindingResult
+     * @param user
+     * @param request
+     * @return
+     */
+    @ApiOperation(value = "update catalogue")
+    @PutMapping(value = "/updateCatalogue/{id}", consumes = MediaType.APPLICATION_JSON_VALUE)
+    public ResponseEntity updateCatalogue(@PathVariable Long id,
+                                     @Valid @RequestBody Catalogue catalogue,
+                                     @ApiIgnore BindingResult bindingResult,
+                                     @ApiIgnore @CurrentUser User user,
+                                     HttpServletRequest request) {
+
+
+        if (invalidId(id) || !id.equals(catalogue.getId())) {
+            ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid catalogue id");
+            return ResponseEntity.status(resultMap.getCode()).body(resultMap);
+        }
+
+        if (bindingResult.hasErrors()) {
+            ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message(bindingResult.getFieldErrors().get(0).getDefaultMessage());
+            return ResponseEntity.status(resultMap.getCode()).body(resultMap);
+        }
+
+        catalogueService.updateCatalogue(catalogue, user);
+        return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
+    }
+
+    /**
+     * 删除catalogue
+     *
+     * @param id
+     * @param user
+     * @param request
+     * @return
+     */
+    @ApiOperation(value = "delete catalogue")
+    @DeleteMapping("/deleteCatalogue/{id}")
+    public ResponseEntity deleteCatalogue(@PathVariable Long id,
+                                     @ApiIgnore @CurrentUser User user,
+                                     HttpServletRequest request) {
+        if (invalidId(id)) {
+            ResultMap resultMap = new ResultMap(tokenUtils).failAndRefreshToken(request).message("Invalid catalogue id");
+            return ResponseEntity.status(resultMap.getCode()).body(resultMap);
+        }
+
+        catalogueService.deleteCatalogue(id, user);
+
+        return ResponseEntity.ok(new ResultMap(tokenUtils).successAndRefreshToken(request));
+    }
+
 }

+ 8 - 6
server/src/main/java/edp/davinci/core/inteceptor/AuthenticationInterceptor.java

@@ -113,17 +113,19 @@ public class AuthenticationInterceptor implements HandlerInterceptor
         // token 不为空
         if(StringUtils.isNotEmpty(token)){
             // 兼容之前登录
-            String username = tokenUtils.getUsername(token);
-            User userInfo = userService.getByUsername(username);
-            if(StringUtils.isNotEmpty(username)){
-                request.setAttribute(Constants.CURRENT_USER, userInfo);
-                return true;
+            if(token.startsWith(Constants.TOKEN_PREFIX)){
+                String username = tokenUtils.getUsername(token);
+                User userInfo = userService.getByUsername(username);
+                if(StringUtils.isNotEmpty(username)){
+                    request.setAttribute(Constants.CURRENT_USER, userInfo);
+                    return true;
+                }
             }
             // 统一认证
             JSONObject acessToken = (JSONObject) redisUtils.get(token);
             if(StringUtils.isEmpty(acessToken.toString())){
                 response.setStatus(HttpCodeEnum.UNAUTHORIZED.getCode());
-                response.getWriter().print(ErrorMsg.ERR_INVALID_TOKEN);
+                response.getWriter().print(ErrorMsg.ERR_LOAD_DATA_TOKEN);
                 return false;
             }
             JSONObject userinfoObject = (JSONObject) JSONObject.toJSON(acessToken);

+ 0 - 3
server/src/main/java/edp/davinci/dao/CatalogueMapper.java

@@ -19,9 +19,7 @@
 
 package edp.davinci.dao;
 
-import edp.davinci.dto.viewDto.*;
 import edp.davinci.model.Catalogue;
-import edp.davinci.model.View;
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -29,7 +27,6 @@ import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
-import java.util.Set;
 
 @Component
 public interface CatalogueMapper

+ 1 - 1
server/src/main/java/edp/davinci/model/Catalogue.java

@@ -33,7 +33,7 @@ public class Catalogue extends RecordInfo<Catalogue>
     private String industry;
 
     // 扩展信息
-    @JSONField(serialize = false)
+    @JSONField(name = "extConfig")
     private String extConfig;
 
 

+ 14 - 2
server/src/main/java/edp/davinci/service/impl/CatalogueServiceImpl.java

@@ -4,7 +4,6 @@ import edp.core.exception.NotFoundException;
 import edp.core.exception.ServerException;
 import edp.core.exception.UnAuthorizedException;
 import edp.davinci.dao.CatalogueMapper;
-import edp.davinci.dao.DictTypeMapper;
 import edp.davinci.model.Catalogue;
 import edp.davinci.model.User;
 import edp.davinci.service.CatalogueService;
@@ -30,18 +29,31 @@ public class CatalogueServiceImpl implements CatalogueService
     @Override
     public Catalogue createCatalogue(Catalogue catalogue, User user) throws NotFoundException, UnAuthorizedException, ServerException
     {
-        return null;
+        catalogueMapper.insert(catalogue);
+
+        return catalogue;
     }
 
     @Override
     public boolean updateCatalogue(Catalogue catalogue, User user) throws NotFoundException, UnAuthorizedException, ServerException
     {
+        int result = catalogueMapper.update(catalogue);
+
+        if (result > 0)
+        {
+            return true;
+        }
         return false;
     }
 
     @Override
     public boolean deleteCatalogue(Long id, User user) throws NotFoundException, UnAuthorizedException, ServerException
     {
+        int result = catalogueMapper.deleteById(id);
+        if (result > 0)
+        {
+            return true;
+        }
         return false;
     }
 }