项目分割模块添加接口

This commit is contained in:
xiangZr-hhh 2024-01-21 12:16:38 +08:00
parent bdf5e57c0a
commit 1435b01977
15 changed files with 141 additions and 34 deletions

View File

@ -1,6 +1,6 @@
package com.jsl.oa.controllers;
import com.jsl.oa.model.voData.PermissionEditVo;
import com.jsl.oa.model.voData.PermissionEditVO;
import com.jsl.oa.services.PermissionService;
import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ErrorCode;
@ -49,7 +49,7 @@ public class PermissionController {
@PutMapping("/permission/edit")
public BaseResponse permissionEdit(@RequestBody @Validated PermissionEditVo permissionEditVo, BindingResult bindingResult, HttpServletRequest request){
public BaseResponse permissionEdit(@RequestBody @Validated PermissionEditVO permissionEditVo, BindingResult bindingResult, HttpServletRequest request){
log.info("请求接口[PUT]: /permission/edit");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {

View File

@ -1,5 +1,6 @@
package com.jsl.oa.controllers;
import com.jsl.oa.model.voData.ProjectCuttingAddVO;
import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.business.info.ProjectShowVO;
import com.jsl.oa.services.ProjectService;
@ -25,6 +26,7 @@ public class ProjectController {
/**
* 项目展示获取
*
* @param id
* @return
*/
@ -36,6 +38,7 @@ public class ProjectController {
/**
* 全部项目的信息获取(打开项目页)
*
* @return
*/
@GetMapping("/project/get")
@ -46,6 +49,7 @@ public class ProjectController {
/**
* 单个项目的详细
*
* @param name
* @return
*/
@ -57,6 +61,7 @@ public class ProjectController {
/**
* 增加项目展示
*
* @param projectShowVO
* @param request
* @param bindingResult
@ -75,6 +80,7 @@ public class ProjectController {
/**
* 编辑展示的项目
*
* @param projectShowVO
* @param id
* @param request
@ -99,6 +105,7 @@ public class ProjectController {
/**
* 删除项目展示
*
* @param id
* @param request
* @return
@ -111,38 +118,41 @@ public class ProjectController {
/**
* 项目表进行项目增加
*
* @param projectAdd
* @param bindingResult
* @return
*/
@PostMapping("/project/add")
public BaseResponse projectAdd(HttpServletRequest request,@RequestBody @Validated ProjectInfoVO projectAdd, @NotNull BindingResult bindingResult) {
public BaseResponse projectAdd(HttpServletRequest request, @RequestBody @Validated ProjectInfoVO projectAdd, @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /project/add");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projectAdd(request,projectAdd);
return projectService.projectAdd(request, projectAdd);
}
/**
* 项目表进行项目的修改
*
* @param projectEdit
* @param bindingResult
* @return
*/
@PutMapping("/project/edit")
public BaseResponse projectEdit(HttpServletRequest request,@RequestBody @Validated ProjectInfoVO projectEdit, @NotNull BindingResult bindingResult) {
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);
return projectService.projectEdit(request, projectEdit);
}
/**
* 用户获取所分到的项目模块
*
* @param uid
* @return
*/
@ -158,33 +168,53 @@ public class ProjectController {
/**
* 给某用户分配项目模块
*
* @param uid
* @param pid
* @return
*/
@PostMapping("/project/cut/user/add")
public BaseResponse projectAddUserForCutting(HttpServletRequest request,@RequestParam Long uid, @RequestParam Long pid) {
public BaseResponse projectAddUserForCutting(HttpServletRequest request, @RequestParam Long uid, @RequestParam Long pid) {
log.info("请求接口[POST]: /project/cut/user/add");
// 判断是否有参数错误
if (uid == null || pid == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
}
return projectService.projectAddUserForCutting(request,uid, pid);
return projectService.projectAddUserForCutting(request, uid, pid);
}
/**
* 删除某项目记录
*
* @param id
* @return
*/
@DeleteMapping("/project/delete")
public BaseResponse projectDelete(HttpServletRequest request,@RequestParam Long id){
public BaseResponse projectDelete(HttpServletRequest request, @RequestParam Long id) {
log.info("请求接口[Delete]: /project/delete");
if(id == null){
if (id == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
}
return projectService.projectDelete(request,id);
return projectService.projectDelete(request, id);
}
/**
* @Description: 添加项目模块
* @Date: 2024/1/21
* @Param request
* @Param projectCuttingAddVO
* @Param bindingResult
**/
@PostMapping("/project/cut/add")
public BaseResponse projectCuttingAdd(HttpServletRequest request, @RequestBody @Validated ProjectCuttingAddVO projectCuttingAddVO, @NotNull BindingResult bindingResult) {
log.info("请求接口[Post]: /project/cut/add");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
}
return projectService.projectCuttingAdd(request, projectCuttingAddVO);
}
}

View File

@ -1,6 +1,6 @@
package com.jsl.oa.controllers;
import com.jsl.oa.model.voData.UserAddVo;
import com.jsl.oa.model.voData.UserAddVO;
import com.jsl.oa.model.voData.UserAllCurrentVO;
import com.jsl.oa.model.voData.UserEditProfileVO;
import com.jsl.oa.model.voData.UserEditVO;
@ -154,7 +154,7 @@ public class UserController {
* @Param bindingResult:
**/
@PostMapping("/user/add")
public BaseResponse userAdd(@RequestBody @Validated UserAddVo userAddVo, BindingResult bindingResult, HttpServletRequest request) {
public BaseResponse userAdd(@RequestBody @Validated UserAddVO userAddVo, BindingResult bindingResult, HttpServletRequest request) {
log.info("请求接口[POST]: /user/add");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {

View File

@ -5,6 +5,7 @@ import com.jsl.oa.mapper.ProjectMapper;
import com.jsl.oa.model.doData.ProjectCuttingDO;
import com.jsl.oa.model.doData.ProjectDO;
import com.jsl.oa.model.doData.info.ProjectShowDO;
import com.jsl.oa.model.voData.ProjectCuttingAddVO;
import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ErrorCode;
@ -109,6 +110,19 @@ public class ProjectDAO {
}
public boolean projectDelete(Long id){
log.info("\t> 执行 DAO 层 ProjectDAO.projectDelete 方法");
return projectMapper.deleteProject(id);
}
public void projectCuttingAdd(ProjectCuttingDO projectCuttingDO){
log.info("\t> 执行 DAO 层 ProjectDAO.projectCuttingAdd 方法");
projectMapper.projectCuttingAdd(projectCuttingDO);
}
public boolean isExistProjectById(Long id){
log.info("\t> 执行 DAO 层 ProjectDAO.isExistProjectById 方法");
if(projectMapper.getProjectById(id) == null){
return false;
}else {return true;}
}
}

View File

@ -47,4 +47,8 @@ public interface ProjectMapper {
@Delete("DELETE FROM organize_oa.oa_project where id=#{id}")
boolean deleteProject(Long id);
@Insert("INSERT INTO organize_oa.oa_project_cutting (pid, name, tag, real_time) " +
"VALUES (#{pid}, #{name}, #{tag}, #{realTime})")
void projectCuttingAdd(ProjectCuttingDO projectCuttingDO);
}

View File

@ -3,10 +3,9 @@ package com.jsl.oa.model.voData;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.sql.Timestamp;
@Data
public class PermissionEditVo {
public class PermissionEditVO {
@NotNull
private Long id;

View File

@ -0,0 +1,23 @@
package com.jsl.oa.model.voData;
import lombok.Data;
import lombok.Value;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.sql.Timestamp;
@Data
public class ProjectCuttingAddVO {
@NotNull(message = "父id不能为空")
private Long pid;
@NotBlank(message = "模块名称不为空")
private String name;
private String tag;
private Integer realTime;
}

View File

@ -1,14 +1,13 @@
package com.jsl.oa.model.voData;
import lombok.Data;
import lombok.Getter;
import javax.validation.constraints.*;
@Getter
public class UserAddVo {
public class UserAddVO {
@NotBlank(message = "用户名不能为空")
@Pattern(regexp = "^[0-9A-Za-z_]{3,40}$", message = "用户名只能为字母、数字或下划线")

View File

@ -1,6 +1,6 @@
package com.jsl.oa.services;
import com.jsl.oa.model.voData.PermissionEditVo;
import com.jsl.oa.model.voData.PermissionEditVO;
import com.jsl.oa.utils.BaseResponse;
import javax.servlet.http.HttpServletRequest;
@ -13,7 +13,7 @@ public interface PermissionService {
BaseResponse permissionGet(HttpServletRequest request);
BaseResponse permissionEdit(PermissionEditVo permissionEditVo, HttpServletRequest request);
BaseResponse permissionEdit(PermissionEditVO permissionEditVo, HttpServletRequest request);
BaseResponse permissionDelete(HttpServletRequest request, Long pid);
}

View File

@ -1,6 +1,7 @@
package com.jsl.oa.services;
import com.jsl.oa.model.doData.info.ProjectShowDO;
import com.jsl.oa.model.voData.ProjectCuttingAddVO;
import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.business.info.ProjectShowVO;
import com.jsl.oa.utils.BaseResponse;
@ -29,4 +30,6 @@ public interface ProjectService {
BaseResponse getByName(String name);
BaseResponse projectDelete(HttpServletRequest request,Long id);
BaseResponse projectCuttingAdd(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO);
}

View File

@ -1,7 +1,7 @@
package com.jsl.oa.services;
import com.jsl.oa.model.doData.UserDO;
import com.jsl.oa.model.voData.UserAddVo;
import com.jsl.oa.model.voData.UserAddVO;
import com.jsl.oa.model.voData.UserAllCurrentVO;
import com.jsl.oa.model.voData.UserEditProfileVO;
import com.jsl.oa.model.voData.UserEditVO;
@ -84,7 +84,7 @@ public interface UserService {
BaseResponse userCurrent(HttpServletRequest request, String id, String username, String email, String phone);
BaseResponse userAdd(UserAddVo userAddVo, HttpServletRequest request);
BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request);
BaseResponse userEdit(UserEditVO userEditVo, HttpServletRequest request);

View File

@ -5,7 +5,7 @@ import com.jsl.oa.mapper.PermissionMapper;
import com.jsl.oa.mapper.RoleMapper;
import com.jsl.oa.model.doData.PermissionDO;
import com.jsl.oa.model.voData.PermissionContentVo;
import com.jsl.oa.model.voData.PermissionEditVo;
import com.jsl.oa.model.voData.PermissionEditVO;
import com.jsl.oa.services.PermissionService;
import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ErrorCode;
@ -64,7 +64,7 @@ public class PermissionServiceImpl implements PermissionService {
}
@Override
public BaseResponse permissionEdit(PermissionEditVo permissionEditVo, HttpServletRequest request) {
public BaseResponse permissionEdit(PermissionEditVO permissionEditVo, HttpServletRequest request) {
log.info("\t> 执行 Service 层 PermissionService.permissionEdit 方法");
//检验用户权限是否为管理员
if(!Processing.checkUserIsAdmin(request,roleMapper)){

View File

@ -7,6 +7,7 @@ import com.jsl.oa.model.doData.ProjectCuttingDO;
import com.jsl.oa.model.doData.ProjectDO;
import com.jsl.oa.model.doData.UserDO;
import com.jsl.oa.model.doData.info.ProjectShowDO;
import com.jsl.oa.model.voData.ProjectCuttingAddVO;
import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.model.voData.business.info.ProjectShowVO;
import com.jsl.oa.services.ProjectService;
@ -31,7 +32,6 @@ public class ProjectServiceImpl implements ProjectService {
private final ProjectDAO projectDAO;
private final UserDAO userDAO;
private final RoleMapper roleMapper;
@Override
@ -195,6 +195,7 @@ public class ProjectServiceImpl implements ProjectService {
@Override
public BaseResponse projectDelete(HttpServletRequest request,Long id) {
log.info("\t> 执行 Service 层 ProjectService.projectDelete 方法");
if(Processing.checkUserIsAdmin(request,roleMapper)) {
if (!projectDAO.projectDelete(id)) {
return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR);
@ -202,5 +203,22 @@ public class ProjectServiceImpl implements ProjectService {
}else return ResultUtil.error(ErrorCode.NOT_ADMIN);
}
@Override
public BaseResponse projectCuttingAdd(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO) {
log.info("\t> 执行 Service 层 ProjectService.projectCuttingAdd方法");
if(Processing.checkUserIsAdmin(request,roleMapper)) {
//赋值数据
ProjectCuttingDO projectCuttingDO = new ProjectCuttingDO();
Processing.copyProperties(projectCuttingAddVO,projectCuttingDO);
//根据pid检测项目是否存在
if(!projectDAO.isExistProjectById(projectCuttingAddVO.getPid())){
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
}
//向数据库添加数据
projectDAO.projectCuttingAdd(projectCuttingDO);
return ResultUtil.success();
}else return ResultUtil.error(ErrorCode.NOT_ADMIN);
}
}

View File

@ -160,7 +160,7 @@ public class UserServiceImpl implements UserService {
@Override
public BaseResponse userAdd(UserAddVo userAddVo, HttpServletRequest request) {
public BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request) {
log.info("\t> 执行 Service 层 UserService.userAdd 方法");
// 检测用户是否为管理员
if (!Processing.checkUserIsAdmin(request, roleMapper)) {

View File

@ -1,18 +1,35 @@
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306
url: jdbc:mysql://localhost:3306?organize_oa
username: root
password: 123456
password: Zrx@20041009
driver-class-name: com.mysql.cj.jdbc.Driver
redis:
database: 0
host: 192.168.80.129
host: localhost
port: 6379
password: 123456
profiles:
active: dev
password: Zrx@20041009
mail:
default-encoding: UTF-8
host: smtp.qiye.aliyun.com
username: wxxydeveloper@x-lf.cn
password: 114477225588Zcw
properties:
form: wxxydeveloper@x-lf.cn
mail:
smtp:
auth: true
starttls:
enable: true
ssl:
enable: true
mybatis:
configuration:
map-underscore-to-camel-case: true
map-underscore-to-camel-case: true
#logging:
# level:
# root: TRACE
# sun.rmi: OFF
# org.apache.tomcat: WARN
server:
port: 8155