Merge remote-tracking branch 'origin/feature' into feature

# Conflicts:
#	src/main/java/com/jsl/oa/dao/ProjectDAO.java
This commit is contained in:
176yunxuan 2024-03-12 12:44:11 +08:00
commit dd16df0b88
12 changed files with 196 additions and 132 deletions

View File

@ -25,4 +25,6 @@ public class IndexController {
newMap.put("timestamp", "构建时间:" + timestamp); newMap.put("timestamp", "构建时间:" + timestamp);
return ResultUtil.success("欢迎使用JSL-OA系统服务器处于正常状态", newMap); return ResultUtil.success("欢迎使用JSL-OA系统服务器处于正常状态", newMap);
} }
} }

View File

@ -45,6 +45,9 @@ public class NewsController {
return newsService.newsAdd(newsAddVO, request); return newsService.newsAdd(newsAddVO, request);
} }
} }

View File

@ -1,9 +1,6 @@
package com.jsl.oa.controllers; package com.jsl.oa.controllers;
import com.jsl.oa.model.voData.ProjectCuttingAddVO; import com.jsl.oa.model.voData.*;
import com.jsl.oa.model.voData.ProjectCuttingEditVO;
import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.ProjectWorkVO;
import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO;
import com.jsl.oa.services.ProjectService; import com.jsl.oa.services.ProjectService;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
@ -18,7 +15,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
@ -170,6 +166,26 @@ public class ProjectController {
return projectService.projectAdd(request, projectAdd); return projectService.projectAdd(request, projectAdd);
} }
/**
* @Description: 项目的修改
* @Date: 2024/3/10
* @Param request:
* @Param projectEdit:
* @Param bindingResult:
* @Param projectId:
**/
@PutMapping("/project/edit/{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()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projectEdit(request, projectEdit,projectId);
}
/** /**
* 子系统子模块的增加 * 子系统子模块的增加
* @param request * @param request
@ -186,22 +202,6 @@ public class ProjectController {
return projectService.projecWorktAdd(request, projectWorkVO); return projectService.projecWorktAdd(request, projectWorkVO);
} }
/**
* 项目表进行项目的修改
*
* @param projectEdit
* @param bindingResult
* @return
*/
@PutMapping("/project/edit")
public BaseResponse projectEdit(HttpServletRequest request, @RequestBody @Validated ProjectInfoVO projectEdit, @NotNull BindingResult bindingResult) {
log.info("请求接口[PUT]: /project/edit");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projectEdit(request, projectEdit);
}
/** /**
* 用户获取所分到的项目模块 * 用户获取所分到的项目模块

View File

@ -7,8 +7,10 @@ import com.jsl.oa.model.doData.ProjectDO;
import com.jsl.oa.model.doData.ProjectUserDO; import com.jsl.oa.model.doData.ProjectUserDO;
import com.jsl.oa.model.doData.ProjectWorkDO; import com.jsl.oa.model.doData.ProjectWorkDO;
import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.doData.info.ProjectShowDO;
import com.jsl.oa.model.voData.ProjectEditVO;
import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.ProjectWorkVO; import com.jsl.oa.model.voData.ProjectWorkVO;
import com.jsl.oa.utils.Processing;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -39,10 +41,14 @@ public class ProjectDAO {
projectMapper.projectWorkAdd(projectWorkVO); projectMapper.projectWorkAdd(projectWorkVO);
} }
public void projectEdit(ProjectInfoVO projectEdit) { public ProjectDO projectEdit(@NotNull ProjectEditVO projectEdit, Long projectId) {
log.info("\t> 执行 DAO 层 ProjectDAO.projectEdit 方法"); log.info("\t> 执行 DAO 层 ProjectDAO.projectEdit 方法");
log.info("\t\t> 从 MySQL 更新数据");
ProjectDO projectDO = new ProjectDO();
Processing.copyProperties(projectEdit,projectDO);
projectMapper.projectEdit(projectDO);
log.info("\t\t> 从 MySQL 获取数据"); log.info("\t\t> 从 MySQL 获取数据");
projectMapper.projectEdit(projectEdit); return projectMapper.getProjectById(projectId);
} }
public boolean isExistProject(Long id) { public boolean isExistProject(Long id) {
@ -197,15 +203,19 @@ public class ProjectDAO {
return projectMapper.updateUserForProjectUser(newUid,projectUserDO.getId()); return projectMapper.updateUserForProjectUser(newUid,projectUserDO.getId());
} }
public boolean isPrincipalUser(Long uid,Long projectId){
log.info("\t> 执行 DAO 层 ProjectDAO.isPrincipalUser 方法");
log.info("\t\t> 从 MySQL 获取数据");
ProjectDO projectDO = projectMapper.getProjectById(projectId);
if(uid == projectDO.getPrincipalId()){
return true;
}
return false;
}
public List<ProjectDO> tget(Integer id, List<String> tags, Integer isFinish) {
public List<ProjectDO> tget(Integer id) {
log.info("DAO层"); log.info("DAO层");
if(isFinish != null){
return projectMapper.tgetByIsfinish(isFinish);
}
if(tags != null && !tags.isEmpty()){
return projectMapper.tgetByTags(tags);
}
return projectMapper.tget(id); return projectMapper.tget(id);
} }
} }

View File

@ -7,7 +7,6 @@ import com.jsl.oa.model.doData.ProjectWorkDO;
import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.ProjectWorkVO; import com.jsl.oa.model.voData.ProjectWorkVO;
import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -27,7 +26,7 @@ public interface ProjectMapper {
"#{description},#{cycle},#{completeTime},#{type},#{isFinish},#{status})") "#{description},#{cycle},#{completeTime},#{type},#{isFinish},#{status})")
void projectWorkAdd(ProjectWorkVO projectWorkVO); void projectWorkAdd(ProjectWorkVO projectWorkVO);
void projectEdit(ProjectInfoVO projectEdit); void projectEdit(ProjectDO projectEdit);
@Select("select * from organize_oa.oa_project where id=#{id}") @Select("select * from organize_oa.oa_project where id=#{id}")
ProjectDO getProjectById(Long id); ProjectDO getProjectById(Long id);
@ -64,7 +63,7 @@ public interface ProjectMapper {
@Select("select * from organize_oa.oa_project where name=#{name}") @Select("select * from organize_oa.oa_project where name=#{name}")
ProjectDO getByName(String name); ProjectDO getByName(String name);
@Delete("DELETE FROM organize_oa.oa_project where id=#{id}") @Update("UPDATE organize_oa.oa_project SET is_delete = 1 where id=#{id}")
boolean deleteProject(Long id); boolean deleteProject(Long id);
@Insert("INSERT INTO organize_oa.oa_project_cutting (pid, name, tag, real_time) " + @Insert("INSERT INTO organize_oa.oa_project_cutting (pid, name, tag, real_time) " +

View File

@ -1,5 +1,6 @@
package com.jsl.oa.model.doData; package com.jsl.oa.model.doData;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -29,7 +30,12 @@ public class ProjectDO {
private Integer isDelete; private Integer isDelete;
private Integer isFinish; private Integer isFinish;
private boolean status; private boolean status;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC")
private Timestamp beginTime; private Timestamp beginTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC")
private Timestamp completeTime; private Timestamp completeTime;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "UTC")
private Timestamp deadline; private Timestamp deadline;
} }

View File

@ -0,0 +1,29 @@
package com.jsl.oa.model.voData;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.Getter;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.sql.Timestamp;
@Data
public class ProjectEditVO {
private String name;
private Long principalId;
private String tags;
private Long cycle;
private String file;
private String description;
private Integer isFinish;
private boolean status;
private Timestamp beginTime;
private Timestamp completeTime;
private Timestamp deadline;
}

View File

@ -1,9 +1,6 @@
package com.jsl.oa.services; package com.jsl.oa.services;
import com.jsl.oa.model.voData.ProjectCuttingAddVO; import com.jsl.oa.model.voData.*;
import com.jsl.oa.model.voData.ProjectCuttingEditVO;
import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.ProjectWorkVO;
import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
@ -13,7 +10,7 @@ import java.util.List;
public interface ProjectService { public interface ProjectService {
BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd); BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd);
BaseResponse projectEdit(HttpServletRequest request, ProjectInfoVO projectEdit); BaseResponse projectEdit(HttpServletRequest request, ProjectEditVO projectEdit, Long projectId);
BaseResponse projectGetUserInCutting(Long uid); BaseResponse projectGetUserInCutting(Long uid);

View File

@ -9,10 +9,7 @@ import com.jsl.oa.model.doData.ProjectDO;
import com.jsl.oa.model.doData.ProjectWorkDO; import com.jsl.oa.model.doData.ProjectWorkDO;
import com.jsl.oa.model.doData.UserDO; import com.jsl.oa.model.doData.UserDO;
import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.doData.info.ProjectShowDO;
import com.jsl.oa.model.voData.ProjectCuttingAddVO; import com.jsl.oa.model.voData.*;
import com.jsl.oa.model.voData.ProjectCuttingEditVO;
import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.ProjectWorkVO;
import com.jsl.oa.model.voData.business.info.ProjectShowVO; import com.jsl.oa.model.voData.business.info.ProjectShowVO;
import com.jsl.oa.services.ProjectService; import com.jsl.oa.services.ProjectService;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
@ -34,10 +31,10 @@ import java.util.List;
* <hr/> * <hr/>
* 用于项目服务层的实现类 * 用于项目服务层的实现类
* *
* @since v1.1.0 * @author xiao_lfeng | 176yunxuan | xiangZr-hhh
* @version v1.1.0 * @version v1.1.0
* @see com.jsl.oa.services.ProjectService * @see com.jsl.oa.services.ProjectService
* @author xiao_lfeng | 176yunxuan | xiangZr-hhh * @since v1.1.0
*/ */
@Slf4j @Slf4j
@Service @Service
@ -52,9 +49,8 @@ public class ProjectServiceImpl implements ProjectService {
@CheckUserHasPermission("project.add") @CheckUserHasPermission("project.add")
public BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd) { public BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd) {
log.info("\t> 执行 Service 层 ProjectService.projectAdd 方法"); log.info("\t> 执行 Service 层 ProjectService.projectAdd 方法");
projectDAO.projectAdd(projectAdd); projectDAO.projectAdd(projectAdd);
return ResultUtil.success("添加成功"); return ResultUtil.success("添加成功");
} }
@Override @Override
@ -84,16 +80,25 @@ public class ProjectServiceImpl implements ProjectService {
} }
@Override @Override
@CheckUserHasPermission("project.edit") public BaseResponse projectEdit(HttpServletRequest request, @NotNull ProjectEditVO projectEdit, Long projectId) {
public BaseResponse projectEdit(HttpServletRequest request, @NotNull ProjectInfoVO projectEdit) {
log.info("\t> 执行 Service 层 ProjectService.projectEdit 方法"); log.info("\t> 执行 Service 层 ProjectService.projectEdit 方法");
//判断项目是否存在
if (projectDAO.isExistProject(projectEdit.getId())) {
projectDAO.projectEdit(projectEdit);
return ResultUtil.success("修改成功"); //判断用户是否为老师 或者 项目负责人
} else { if (!Processing.checkUserIsTeacher(request, roleMapper) ||
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) {
} return ResultUtil.error(ErrorCode.NOT_PERMISSION);
}
//判断项目是否存在
if (projectDAO.isExistProject(projectId)) {
//更新数据
return ResultUtil.success(projectDAO.projectEdit(projectEdit,projectId));
} else {
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
}
} }
@Override @Override
@ -112,12 +117,12 @@ public class ProjectServiceImpl implements ProjectService {
@CheckUserHasPermission("project.cutting.user.add") @CheckUserHasPermission("project.cutting.user.add")
public BaseResponse projectAddUserForCutting(HttpServletRequest request, Long uid, Long pid) { public BaseResponse projectAddUserForCutting(HttpServletRequest request, Long uid, Long pid) {
log.info("\t> 执行 Service 层 ProjectService.projectAddUserForCutting 方法"); log.info("\t> 执行 Service 层 ProjectService.projectAddUserForCutting 方法");
if (userDAO.isExistUser(uid)) { if (userDAO.isExistUser(uid)) {
projectDAO.projectAddUserForCutting(uid, pid); projectDAO.projectAddUserForCutting(uid, pid);
return ResultUtil.success(); return ResultUtil.success();
} else { } else {
return ResultUtil.error(ErrorCode.USER_NOT_EXIST); return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
} }
} }
@Override @Override
@ -215,25 +220,25 @@ public class ProjectServiceImpl implements ProjectService {
log.info("\t> 执行 Service 层 ProjectService.get 方法"); log.info("\t> 执行 Service 层 ProjectService.get 方法");
//获取用户 //获取用户
Long userId= Processing.getAuthHeaderToUserId(request); Long userId = Processing.getAuthHeaderToUserId(request);
//根据状态查询 //根据状态查询
if(isFinish != null){ if (isFinish != null) {
List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags,isFinish); List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
return ResultUtil.success(projectDOList); return ResultUtil.success(projectDOList);
} }
//根据标签查询 //根据标签查询
if(tags != null && !tags.isEmpty()){ if (tags != null && !tags.isEmpty()) {
List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags,isFinish); List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
return ResultUtil.success(projectDOList); return ResultUtil.success(projectDOList);
} }
//判断是否是老师(项目负责人) //判断是否是老师(项目负责人)
if(listAll != null && Processing.checkUserIsTeacher(request,roleMapper)){ if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) {
List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags,isFinish); List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
return ResultUtil.success(projectDOList); return ResultUtil.success(projectDOList);
}else { } else {
listAll = 0; listAll = 0;
List<ProjectDO> projectDOList = projectDAO.get(userId,listAll,tags,isFinish); List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
return ResultUtil.success(projectDOList); return ResultUtil.success(projectDOList);
} }
@ -244,31 +249,30 @@ public class ProjectServiceImpl implements ProjectService {
log.info("\t> 执行 Service 层 ProjectService.workget 方法"); log.info("\t> 执行 Service 层 ProjectService.workget 方法");
//获取用户 //获取用户
Long userId= Processing.getAuthHeaderToUserId(request); Long userId = Processing.getAuthHeaderToUserId(request);
//根据状态查询 //根据状态查询
if(isFinish != null){ if (isFinish != null) {
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId,listAll,tags,isFinish); List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectWorkDOList); return ResultUtil.success(projectWorkDOList);
} }
//根据标签查询 //根据标签查询
if(tags != null && !tags.isEmpty()){ if (tags != null && !tags.isEmpty()) {
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId,listAll,tags,isFinish); List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectWorkDOList); return ResultUtil.success(projectWorkDOList);
} }
//判断是否是老师(项目负责人) //判断是否是老师(项目负责人)
if(listAll != null && Processing.checkUserIsTeacher(request,roleMapper)){ if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) {
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId,listAll,tags,isFinish); List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectWorkDOList); return ResultUtil.success(projectWorkDOList);
}else { } else {
listAll = 0; listAll = 0;
List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId,listAll,tags,isFinish); List<ProjectWorkDO> projectWorkDOList = projectDAO.workget(userId, listAll, tags, isFinish);
return ResultUtil.success(projectWorkDOList); return ResultUtil.success(projectWorkDOList);
} }
} }
@Override @Override
public BaseResponse getByName(String name) { public BaseResponse getByName(String name) {
log.info("\t> 执行 Service 层 ProjectService.getByName 方法"); log.info("\t> 执行 Service 层 ProjectService.getByName 方法");
@ -280,68 +284,73 @@ public class ProjectServiceImpl implements ProjectService {
} }
@Override @Override
@CheckUserHasPermission("project.delete")
public BaseResponse projectDelete(HttpServletRequest request, Long id) { public BaseResponse projectDelete(HttpServletRequest request, Long id) {
log.info("\t> 执行 Service 层 ProjectService.projectDelete 方法"); log.info("\t> 执行 Service 层 ProjectService.projectDelete 方法");
if (!projectDAO.projectDelete(id)) {
return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR); //判断用户是否为老师 或者 项目负责人 或管理员
} else { if (!Processing.checkUserIsTeacher(request, roleMapper) &&
return ResultUtil.success(); !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), id)
} && !Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
}
if (!projectDAO.projectDelete(id)) {
return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR);
} else {
return ResultUtil.success();
}
} }
@Override @Override
@CheckUserHasPermission("project.cutting.add") @CheckUserHasPermission("project.cutting.add")
public BaseResponse addProjectCutting(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO) { public BaseResponse addProjectCutting(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO) {
log.info("\t> 执行 Service 层 ProjectService.projectCuttingAdd方法"); log.info("\t> 执行 Service 层 ProjectService.projectCuttingAdd方法");
//赋值数据 //赋值数据
ProjectCuttingDO projectCuttingDO = new ProjectCuttingDO(); ProjectCuttingDO projectCuttingDO = new ProjectCuttingDO();
Processing.copyProperties(projectCuttingAddVO, projectCuttingDO); Processing.copyProperties(projectCuttingAddVO, projectCuttingDO);
//根据pid检测项目是否存在 //根据pid检测项目是否存在
if (!projectDAO.isExistProjectById(projectCuttingAddVO.getPid())) { if (!projectDAO.isExistProjectById(projectCuttingAddVO.getPid())) {
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
} }
//向数据库添加数据 //向数据库添加数据
projectDAO.projectCuttingAdd(projectCuttingDO); projectDAO.projectCuttingAdd(projectCuttingDO);
return ResultUtil.success(); return ResultUtil.success();
} }
@Override @Override
@CheckUserHasPermission("project.cutting.edit") @CheckUserHasPermission("project.cutting.edit")
public BaseResponse editProjectCutting(HttpServletRequest request, ProjectCuttingEditVO projectCuttingEditVO) { public BaseResponse editProjectCutting(HttpServletRequest request, ProjectCuttingEditVO projectCuttingEditVO) {
log.info("\t> 执行 Service 层 ProjectService.projectCuttingEdit方法"); log.info("\t> 执行 Service 层 ProjectService.projectCuttingEdit方法");
//赋值数据 //赋值数据
ProjectCuttingDO projectCuttingDO = new ProjectCuttingDO(); ProjectCuttingDO projectCuttingDO = new ProjectCuttingDO();
Processing.copyProperties(projectCuttingEditVO, projectCuttingDO); Processing.copyProperties(projectCuttingEditVO, projectCuttingDO);
//根据id检测项目模块是否存在 //根据id检测项目模块是否存在
if (!projectDAO.isExistProjectCutting(projectCuttingEditVO.getId())) { if (!projectDAO.isExistProjectCutting(projectCuttingEditVO.getId())) {
return ResultUtil.error(ErrorCode.PROJECT_CUTTING_NOT_EXIST); return ResultUtil.error(ErrorCode.PROJECT_CUTTING_NOT_EXIST);
} }
//向数据库添加数据 //向数据库添加数据
projectDAO.updateProjectCutting(projectCuttingDO); projectDAO.updateProjectCutting(projectCuttingDO);
return ResultUtil.success(); return ResultUtil.success();
} }
@Override @Override
@CheckUserHasPermission("project.cutting.delete") @CheckUserHasPermission("project.cutting.delete")
public BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid) { public BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid) {
log.info("\t> 执行 Service 层 ProjectService.projectToOtherUserForCutting方法"); log.info("\t> 执行 Service 层 ProjectService.projectToOtherUserForCutting方法");
//检测新旧用户是否存在 //检测新旧用户是否存在
if (!userDAO.isExistUser(oldUid) || !userDAO.isExistUser(newUid)) { if (!userDAO.isExistUser(oldUid) || !userDAO.isExistUser(newUid)) {
return ResultUtil.error(ErrorCode.USER_NOT_EXIST); return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
} }
//用户项目表是否含有对应记录 //用户项目表是否含有对应记录
if (!projectDAO.isExistProjectUser(pid, oldUid)) { if (!projectDAO.isExistProjectUser(pid, oldUid)) {
return ResultUtil.error(ErrorCode.PROJECT_USER_NOT_EXIST); return ResultUtil.error(ErrorCode.PROJECT_USER_NOT_EXIST);
} }
//更新数据 //更新数据
if (!projectDAO.updateUserForProjectUserByPidAndUid(pid, oldUid, newUid)) { if (!projectDAO.updateUserForProjectUserByPidAndUid(pid, oldUid, newUid)) {
return ResultUtil.error(ErrorCode.DATABASE_UPDATE_ERROR); return ResultUtil.error(ErrorCode.DATABASE_UPDATE_ERROR);
} }
return ResultUtil.success(); return ResultUtil.success();
} }
} }

View File

@ -257,6 +257,12 @@ public class UserServiceImpl implements UserService {
@Override @Override
public BaseResponse userProfileGet(HttpServletRequest request) { public BaseResponse userProfileGet(HttpServletRequest request) {
log.info("\t> 执行 Service 层 UserService.userProfileGet 方法"); log.info("\t> 执行 Service 层 UserService.userProfileGet 方法");
//判断用户是否为 老师 管理员
if(!Processing.checkUserIsAdmin(request,roleDAO.roleMapper) &&
!Processing.checkUserIsTeacher(request,roleDAO.roleMapper)){
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
}
// 获取用户Id // 获取用户Id
UserDO userDO = userDAO.getUserById(Processing.getAuthHeaderToUserId(request)); UserDO userDO = userDAO.getUserById(Processing.getAuthHeaderToUserId(request));
UserProfileVo userProfileVo = new UserProfileVo(); UserProfileVo userProfileVo = new UserProfileVo();
@ -264,4 +270,6 @@ public class UserServiceImpl implements UserService {
userProfileVo.setSex(Processing.getSex(userDO.getSex())); userProfileVo.setSex(Processing.getSex(userDO.getSex()));
return ResultUtil.success(userProfileVo); return ResultUtil.success(userProfileVo);
} }
} }

View File

@ -193,6 +193,7 @@ public class Processing {
} }
} }
private static char getCharFromIndex(int index) { private static char getCharFromIndex(int index) {
// 生成字符集合可以根据需要自定义 // 生成字符集合可以根据需要自定义
String charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; String charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

View File

@ -13,8 +13,8 @@
<if test="description != null and description != ''"> <if test="description != null and description != ''">
description = #{description}, description = #{description},
</if> </if>
<if test="principal_id != null and principal_id != ''"> <if test="principalId != null and principalId != ''">
principal_id = #{principal_id}, principal_id = #{principalId},
</if> </if>
<if test="tags != null and tags != ''"> <if test="tags != null and tags != ''">
tags = #{tags}, tags = #{tags},
@ -25,11 +25,11 @@
<if test="file != null and file != ''"> <if test="file != null and file != ''">
file = #{file}, file = #{file},
</if> </if>
<if test="begin_time != null and begin_time != ''"> <if test="beginTime != null and beginTime != ''">
begin_time = #{begin_time}, begin_time = #{beginTime},
</if> </if>
<if test="complete_time != null and complete_time != ''"> <if test="completeTime != null and completeTime != ''">
complete_time = #{complete_time}, complete_time = #{completeTime},
</if> </if>
<if test="deadline != null and deadline != ''"> <if test="deadline != null and deadline != ''">
deadline = #{deadline}, deadline = #{deadline},
@ -37,11 +37,11 @@
<if test="status != null and status != ''"> <if test="status != null and status != ''">
status = #{status}, status = #{status},
</if> </if>
<if test="is_finish != null and is_finish != ''"> <if test="isFinish != null and isFinish != ''">
is_finish = #{is_finish}, is_finish = #{isFinish},
</if> </if>
<if test="is_delete != null and is_delete != ''"> <if test="isDelete != null and isDelete != ''">
is_delete = #{is_delete}, is_delete = #{isDelete},
</if> </if>
</set> </set>
where id = #{id} where id = #{id}