项目文件接口
Some checks failed
JslGroup/JslDeveloper/JSL_OrganizeInternalOA/pipeline/head There was a failure building this commit

This commit is contained in:
xiangZr-hhh 2024-03-14 17:35:19 +08:00
parent fb8336d44b
commit ef85c9fb60
10 changed files with 97 additions and 5 deletions

View File

@ -4,9 +4,8 @@ import com.jsl.oa.services.ModuleService;
import com.jsl.oa.utils.BaseResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@ -43,4 +42,12 @@ public class ModuleContorller {
return moduleService.getBySysId(sysId,request);
}
@DeleteMapping("/module/delete/{id}")
public BaseResponse moudleDeleteById( @PathVariable("id") Long id, HttpServletRequest request){
log.info("请求接口[DELETE]: /module/delete/{id}");
return moduleService.deleteById(request,id);
}
}

View File

@ -176,7 +176,8 @@ public class ProjectController {
* @Param projectId:
**/
@PutMapping("/project/edit/{projectId}")
public BaseResponse projectEditById(HttpServletRequest request, @RequestBody @Validated ProjectEditVO projectEdit, @NotNull BindingResult bindingResult, @PathVariable("projectId") Long projectId) {
public BaseResponse projectEditById(HttpServletRequest request, @RequestBody @Validated ProjectEditVO projectEdit,
@NotNull BindingResult bindingResult, @PathVariable("projectId") Long projectId) {
log.info("请求接口[PUT]: /project/edit/{projectId}");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
@ -290,4 +291,16 @@ public class ProjectController {
return projectService.projectToOtherUserForCutting(request, oldUid, pid , newUid);
}
@GetMapping("/project/file")
public BaseResponse getProjectFile(HttpServletRequest request, @RequestParam Long projectId){
log.info("请求接口[Get]: /project/file");
//判断是否有参数错误
if(projectId == null){
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR);
}
return projectService.projectFileGet(request,projectId);
}
}

View File

@ -119,6 +119,13 @@ public class ProjectDAO {
return projectMapper.setProjectShow(setProjectShow);
}
public ProjectDO getProjectById(Long id){
log.info("\t> 执行 DAO 层 ProjectDAO.getProjectById 方法");
log.info("\t\t> 从 MySQL 获取数据");
return projectMapper.getProjectById(id);
}
public List<ProjectDO> get(Long userId,Integer listAll,List<String> tags,List<Integer> isFinish) {
log.info("\t> 执行 DAO 层 ProjectDAO.get 方法");
log.info("\t\t> 从 MySQL 获取数据");
@ -224,4 +231,5 @@ public class ProjectDAO {
return projectMapper.tget(id);
}
}

View File

@ -1,6 +1,7 @@
package com.jsl.oa.mapper;
import com.jsl.oa.model.doData.ProjectWorkDO;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@ -22,4 +23,7 @@ public interface ModuleMapper {
@Select("select principal_id from organize_oa.oa_project_work where id=#{sysId}")
Long getPidBySysid(Integer sysId);
@Delete("DELETE FROM organize_oa.oa_project_work WHERE id = #{id}")
void deleteMoudule(Long id);
}

View File

@ -0,0 +1,13 @@
package com.jsl.oa.model.voData;
import lombok.Data;
@Data
public class ProjectFileVO {
String name;
String uuid;
String link;
}

View File

@ -11,4 +11,6 @@ public interface ModuleService {
BaseResponse getByProjectId(Integer projectId, HttpServletRequest request);
BaseResponse getBySysId(Integer sysId, HttpServletRequest request);
BaseResponse deleteById(HttpServletRequest request, Long id);
}

View File

@ -41,4 +41,6 @@ public interface ProjectService {
BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO);
BaseResponse tget(Integer id, List<String> tags, List<Integer> isFinish);
BaseResponse projectFileGet(HttpServletRequest request, Long projectId);
}

View File

@ -7,6 +7,7 @@ import com.jsl.oa.mapper.RoleMapper;
import com.jsl.oa.model.doData.ProjectWorkDO;
import com.jsl.oa.services.ModuleService;
import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ErrorCode;
import com.jsl.oa.utils.Processing;
import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor;
@ -59,4 +60,16 @@ public class ModuleServiceImpl implements ModuleService {
List<ProjectWorkDO> projectWorkDOList = moduleMapper.getBySysId(sysId,userId,is);
return ResultUtil.success(projectWorkDOList);
}
@Override
public BaseResponse deleteById(HttpServletRequest request, Long id) {
if(!Processing.checkUserIsAdmin(request,roleMapper)){
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
}
moduleMapper.deleteMoudule(id);
return ResultUtil.success("删除成功");
}
}

View File

@ -1,5 +1,9 @@
package com.jsl.oa.services.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.jsl.oa.annotations.CheckUserHasPermission;
import com.jsl.oa.dao.ProjectDAO;
import com.jsl.oa.dao.UserDAO;
@ -78,6 +82,31 @@ public class ProjectServiceImpl implements ProjectService {
return ResultUtil.success(projectDOList);
}
@Override
public BaseResponse projectFileGet(HttpServletRequest request, Long projectId) {
// 判断项目是否存在
if(!projectDAO.isExistProjectById(projectId)){
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
}
ProjectDO projectDO = projectDAO.getProjectById(projectId);
if(projectDO.getFile() == null || projectDO.getFile().equals("{}")){
return ResultUtil.success(null);
}
// 将文件内容转换为 JSON 数组
try {
Object fileJson = new ObjectMapper().readValue(projectDO.getFile(), Object.class);
return ResultUtil.success(fileJson);
} catch (JsonProcessingException e) {
return ResultUtil.error(ErrorCode.PROJECT_FILE_JSON_ERROR);
}
}
@Override
public BaseResponse projectEdit(HttpServletRequest request, @NotNull ProjectEditVO projectEdit, Long projectId) {
log.info("\t> 执行 Service 层 ProjectService.projectEdit 方法");

View File

@ -50,7 +50,8 @@ public enum ErrorCode {
DATABASE_DELETE_ERROR("DatabaseDeleteError", 50012, "数据库删除错误"),
PROJECT_NOT_EXIST("ProjectNotExist", 40016, "项目不存在"),
PROJECT_CUTTING_NOT_EXIST("ProjectCuttingNotExist", 40017, "项目分割模块不存在"),
PROJECT_USER_NOT_EXIST("ProjectUserNotExist", 40018, "用户项目表无对应记录");
PROJECT_USER_NOT_EXIST("ProjectUserNotExist", 40018, "用户项目表无对应记录"),
PROJECT_FILE_JSON_ERROR("ProjectFileJsonError", 40019, "项目文件json格式错误");
private final String output;