Compare commits
3 Commits
7596e19721
...
6813b5195d
Author | SHA1 | Date | |
---|---|---|---|
6813b5195d | |||
c7869775ef | |||
9280fa7d5d |
52
src/main/java/com/jsl/oa/controllers/TagController.java
Normal file
52
src/main/java/com/jsl/oa/controllers/TagController.java
Normal file
|
@ -0,0 +1,52 @@
|
|||
package com.jsl.oa.controllers;
|
||||
|
||||
import com.jsl.oa.services.TagService;
|
||||
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.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* TagController
|
||||
* <hr/>
|
||||
* 用于处理标签相关的请求, 包括获取标签列表、编辑标签信息等
|
||||
*
|
||||
* @author xiao_lfeng
|
||||
* @version v1.0.0
|
||||
* @since v1.0.0-SNAPSHOT
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/tags")
|
||||
@RequiredArgsConstructor
|
||||
public class TagController {
|
||||
private final TagService tagService;
|
||||
|
||||
@GetMapping("/project/list")
|
||||
public BaseResponse getTagsProjectList(
|
||||
@RequestParam(required = false) String page,
|
||||
@RequestParam(required = false) String limit,
|
||||
@RequestParam(required = false) String order
|
||||
) {
|
||||
log.info("[Controller] 请求 getProjectList 接口");
|
||||
// 处理默认数据
|
||||
if (page == null || !Pattern.matches("^[0-9]+$", page) || Integer.parseInt(page) < 1) {
|
||||
page = "1";
|
||||
}
|
||||
if (limit == null || !Pattern.matches("^[0-9]+$", limit) || Integer.parseInt(limit) < 1) {
|
||||
limit = "20";
|
||||
}
|
||||
if ((!"asc".equals(order) && !"desc".equals(order))) {
|
||||
order = "id asc";
|
||||
} else {
|
||||
order = "id " + order;
|
||||
}
|
||||
// 业务操作
|
||||
return tagService.getTagsProjectList(Integer.valueOf(page), Integer.valueOf(limit), order);
|
||||
}
|
||||
}
|
|
@ -20,6 +20,7 @@ import org.springframework.stereotype.Component;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
|
@ -207,10 +208,7 @@ public class ProjectDAO {
|
|||
log.info("\t> 执行 DAO 层 ProjectDAO.isPrincipalUser 方法");
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
ProjectDO projectDO = projectMapper.getProjectById(projectId);
|
||||
if(uid == projectDO.getPrincipalId()){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return Objects.equals(uid, projectDO.getPrincipalId());
|
||||
}
|
||||
|
||||
|
||||
|
|
41
src/main/java/com/jsl/oa/dao/TagDAO.java
Normal file
41
src/main/java/com/jsl/oa/dao/TagDAO.java
Normal file
|
@ -0,0 +1,41 @@
|
|||
package com.jsl.oa.dao;
|
||||
|
||||
import com.jsl.oa.mapper.TagMapper;
|
||||
import com.jsl.oa.model.doData.TagProjectDO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* TagDAO
|
||||
* <hr/>
|
||||
* 用于处理标签相关的请求, 包括获取标签列表、编辑标签信息等
|
||||
*
|
||||
* @since v1.0.0-SNAPSHOT
|
||||
* @version v1.0.0
|
||||
* @author xiao_lfeng
|
||||
*/
|
||||
@Slf4j
|
||||
@Repository
|
||||
@RequiredArgsConstructor
|
||||
public class TagDAO {
|
||||
private final TagMapper tagMapper;
|
||||
|
||||
/**
|
||||
* 获取标签列表
|
||||
* <hr/>
|
||||
* 该接口提供标签列表的查询功能。用户在成功登录后,可以请求此接口来获取标签列表.
|
||||
*
|
||||
* @param page 页码
|
||||
* @param limit 每页数量
|
||||
* @param order 排序
|
||||
*/
|
||||
public ArrayList<TagProjectDO> getTagsProjectList(Integer page, Integer limit, String order) {
|
||||
log.info("[DAO] 请求 getTagsProjectList 接口");
|
||||
// 获取标签列表
|
||||
page = (page - 1) * limit;
|
||||
return (ArrayList<TagProjectDO>) tagMapper.getTagsProjectList(order, limit, page);
|
||||
}
|
||||
}
|
32
src/main/java/com/jsl/oa/mapper/TagMapper.java
Normal file
32
src/main/java/com/jsl/oa/mapper/TagMapper.java
Normal file
|
@ -0,0 +1,32 @@
|
|||
package com.jsl.oa.mapper;
|
||||
|
||||
import com.jsl.oa.model.doData.TagProjectDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* TagMapper
|
||||
* <hr/>
|
||||
* 用于处理标签相关的请求, 包括获取标签列表、编辑标签信息等
|
||||
*
|
||||
* @since v1.0.0-SNAPSHOT
|
||||
* @version v1.0.0
|
||||
* @author xiao_lfeng
|
||||
*/
|
||||
@Mapper
|
||||
public interface TagMapper {
|
||||
|
||||
/**
|
||||
* 获取标签列表
|
||||
* <hr/>
|
||||
* 该接口提供标签列表的查询功能。用户在成功登录后,可以请求此接口来获取标签列表.
|
||||
*
|
||||
* @param page 页码
|
||||
* @param limit 每页数量
|
||||
* @param order 排序
|
||||
*/
|
||||
@Select("SELECT * FROM organize_oa.oa_project_tags ORDER BY ${order} LIMIT #{limit} OFFSET #{page}")
|
||||
List<TagProjectDO> getTagsProjectList(String order, Integer limit, Integer page);
|
||||
}
|
24
src/main/java/com/jsl/oa/model/doData/TagProjectDO.java
Normal file
24
src/main/java/com/jsl/oa/model/doData/TagProjectDO.java
Normal file
|
@ -0,0 +1,24 @@
|
|||
package com.jsl.oa.model.doData;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
|
||||
/**
|
||||
* TagProjectDO
|
||||
* <hr/>
|
||||
* 用于处理标签相关的请求, 包括获取标签列表、编辑标签信息等
|
||||
*
|
||||
* @since v1.0.0-SNAPSHOT
|
||||
* @version v1.0.0
|
||||
* @author xiao_lfeng
|
||||
*/
|
||||
@Data
|
||||
public class TagProjectDO {
|
||||
private String id;
|
||||
private String name;
|
||||
private Long pid;
|
||||
private Timestamp createdAt;
|
||||
private Timestamp updatedAt;
|
||||
private Boolean isDelete;
|
||||
}
|
25
src/main/java/com/jsl/oa/services/TagService.java
Normal file
25
src/main/java/com/jsl/oa/services/TagService.java
Normal file
|
@ -0,0 +1,25 @@
|
|||
package com.jsl.oa.services;
|
||||
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
|
||||
/**
|
||||
* TagService
|
||||
* <hr/>
|
||||
* 用于处理标签相关的请求, 包括获取标签列表、编辑标签信息等
|
||||
*
|
||||
* @since v1.0.0-SNAPSHOT
|
||||
* @version v1.0.0
|
||||
* @author xiao_lfeng
|
||||
*/
|
||||
public interface TagService {
|
||||
/**
|
||||
* 获取标签列表
|
||||
* <hr/>
|
||||
* 该接口提供标签列表的查询功能。用户在成功登录后,可以请求此接口来获取标签列表.
|
||||
*
|
||||
* @param page 页码
|
||||
* @param limit 每页数量
|
||||
* @return BaseResponse 返回标签列表
|
||||
*/
|
||||
BaseResponse getTagsProjectList(Integer page, Integer limit, String order);
|
||||
}
|
|
@ -72,7 +72,6 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
log.info("\t> 执行 Service 层 ProjectService.projectEdit 方法");
|
||||
|
||||
|
||||
|
||||
//判断用户是否为老师 或者 项目负责人
|
||||
if (!Processing.checkUserIsTeacher(request, roleMapper) ||
|
||||
!projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) {
|
||||
|
@ -82,7 +81,7 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
//判断项目是否存在
|
||||
if (projectDAO.isExistProject(projectId)) {
|
||||
//更新数据
|
||||
return ResultUtil.success(projectDAO.projectEdit(projectEdit,projectId));
|
||||
return ResultUtil.success(projectDAO.projectEdit(projectEdit, projectId));
|
||||
} else {
|
||||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
|
||||
}
|
||||
|
@ -278,7 +277,7 @@ public class ProjectServiceImpl implements ProjectService {
|
|||
//判断用户是否为老师 或者 项目负责人 或管理员
|
||||
if (!Processing.checkUserIsTeacher(request, roleMapper) &&
|
||||
!projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id)
|
||||
&& !Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
&& !Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
}
|
||||
|
||||
|
|
45
src/main/java/com/jsl/oa/services/impl/TagServiceImpl.java
Normal file
45
src/main/java/com/jsl/oa/services/impl/TagServiceImpl.java
Normal file
|
@ -0,0 +1,45 @@
|
|||
package com.jsl.oa.services.impl;
|
||||
|
||||
import com.jsl.oa.dao.TagDAO;
|
||||
import com.jsl.oa.model.doData.TagProjectDO;
|
||||
import com.jsl.oa.services.TagService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
import com.jsl.oa.utils.ResultUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* TagServiceImpl
|
||||
* <hr/>
|
||||
* 用于处理标签相关的请求, 包括获取标签列表、编辑标签信息等
|
||||
*
|
||||
* @since v1.0.0-SNAPSHOT
|
||||
* @version v1.0.0
|
||||
* @author xiao_lfeng
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class TagServiceImpl implements TagService {
|
||||
private final TagDAO tagDAO;
|
||||
|
||||
/**
|
||||
* 获取标签列表
|
||||
* <hr/>
|
||||
* 该接口提供标签列表的查询功能。用户在成功登录后,可以请求此接口来获取标签列表.
|
||||
*
|
||||
* @param page 页码
|
||||
* @param limit 每页数量
|
||||
* @return BaseResponse 返回标签列表
|
||||
*/
|
||||
@Override
|
||||
public BaseResponse getTagsProjectList(Integer page, Integer limit, String order) {
|
||||
log.info("[Service] 请求 getTagsProjectList 接口");
|
||||
// 获取标签列表
|
||||
ArrayList<TagProjectDO> getTagList = tagDAO.getTagsProjectList(page, limit, order);
|
||||
return ResultUtil.success(getTagList);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user