Merge remote-tracking branch 'origin/master'

This commit is contained in:
xiangZr-hhh 2024-01-20 21:41:40 +08:00
commit eb2caee36a
20 changed files with 179 additions and 54 deletions

View File

@ -15,7 +15,6 @@ public class CorsFilter implements Filter {
// 请求头处理 // 请求头处理
HttpServletResponse response = (HttpServletResponse) res; HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest request = (HttpServletRequest) req; HttpServletRequest request = (HttpServletRequest) req;
// 设置请求头 // 设置请求头
setHeader(response); setHeader(response);

View File

@ -33,6 +33,7 @@ import java.util.regex.Pattern;
* @see Processing * @see Processing
* @see ResultUtil * @see ResultUtil
* @since v1.0.0 * @since v1.0.0
* @author 筱锋xiao_lfeng|176yunxuan
*/ */
@Slf4j @Slf4j
@RestController @RestController

View File

@ -7,6 +7,9 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/**
* @author xiaofeng
*/
@RestController @RestController
public class CustomController implements ErrorController { public class CustomController implements ErrorController {
@RequestMapping("/error") @RequestMapping("/error")

View File

@ -2,13 +2,19 @@ package com.jsl.oa.controllers;
import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ResultUtil; import com.jsl.oa.utils.ResultUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
/**
* @author xiaofeng
*/
@Slf4j
@RestController @RestController
public class IndexController { public class IndexController {
@RequestMapping("/") @RequestMapping("/")
public BaseResponse index() { public BaseResponse index() {
log.info("请求接口[GET]: /");
return ResultUtil.success("欢迎使用JSL-OA系统服务器处于正常状态"); return ResultUtil.success("欢迎使用JSL-OA系统服务器处于正常状态");
} }
} }

View File

@ -7,12 +7,14 @@ import com.jsl.oa.utils.ErrorCode;
import com.jsl.oa.utils.Processing; import com.jsl.oa.utils.Processing;
import com.jsl.oa.utils.ResultUtil; import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated; 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;
@Slf4j
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
public class PermissionController { public class PermissionController {
@ -21,14 +23,18 @@ public class PermissionController {
@PostMapping("/permission/add") @PostMapping("/permission/add")
public BaseResponse permissionAdd(HttpServletRequest request, @RequestParam Long rid,@RequestParam Long pid) { public BaseResponse permissionAdd(HttpServletRequest request, @RequestParam Long rid,@RequestParam Long pid) {
log.info("请求接口[POST]: /permission/add");
// 判断是否有参数错误 // 判断是否有参数错误
if (rid == null || pid == null) { if (rid == null || pid == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
} else return permissionService.permissionAdd(request,rid,pid); } else {
return permissionService.permissionAdd(request,rid,pid);
}
} }
@GetMapping("/permission/current") @GetMapping("/permission/current")
public BaseResponse permissionUser(HttpServletRequest request, @RequestParam Long uid) { public BaseResponse permissionUser(HttpServletRequest request, @RequestParam Long uid) {
log.info("请求接口[GET]: /permission/current");
// 判断是否有参数错误 // 判断是否有参数错误
if (uid == null ) { if (uid == null ) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
@ -37,12 +43,14 @@ public class PermissionController {
@GetMapping("/permission/get") @GetMapping("/permission/get")
public BaseResponse permissionGet(HttpServletRequest request){ public BaseResponse permissionGet(HttpServletRequest request){
log.info("请求接口[GET]: /permission/get");
return permissionService.permissionGet(request); return permissionService.permissionGet(request);
} }
@PutMapping("/permission/edit") @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()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));

View File

@ -44,11 +44,14 @@ public class UserController {
* @return {@link BaseResponse} * @return {@link BaseResponse}
*/ */
@PutMapping("/user/delete") @PutMapping("/user/delete")
public BaseResponse userDelete(HttpServletRequest request,@RequestParam Long id) { public BaseResponse userDelete(HttpServletRequest request, @RequestParam String id) {
log.info("请求接口[PUT]: /user/delete");
// 判断是否有参数错误 // 判断是否有参数错误
if (id == null) { if (id == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
} else return userService.userDelete(request,id); } else {
return userService.userDelete(request, Long.valueOf(id));
}
} }
/** /**
@ -58,12 +61,13 @@ public class UserController {
* @return {@link BaseResponse} * @return {@link BaseResponse}
*/ */
@PutMapping("/user/lock") @PutMapping("/user/lock")
public BaseResponse userLock(HttpServletRequest request,@RequestParam Long id,@RequestParam Long isLock) { public BaseResponse userLock(HttpServletRequest request, @RequestParam Long id, @RequestParam Long isLock) {
log.info("请求接口[PUT]: /user/lock");
// 判断是否有参数错误 // 判断是否有参数错误
if (id == null) { if (id == null) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
} }
return userService.userLock(request,id,isLock); return userService.userLock(request, id, isLock);
} }
/** /**
@ -75,6 +79,7 @@ public class UserController {
*/ */
@PutMapping("/user/profile/edit") @PutMapping("/user/profile/edit")
public BaseResponse userEditProfile(@RequestBody @Validated UserEditProfileVO userEditProfileVO, BindingResult bindingResult) { public BaseResponse userEditProfile(@RequestBody @Validated UserEditProfileVO userEditProfileVO, BindingResult bindingResult) {
log.info("请求接口[PUT]: /user/profile/edit");
// 判断是否有参数错误 // 判断是否有参数错误
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
@ -97,6 +102,7 @@ public class UserController {
*/ */
@GetMapping("/user/current") @GetMapping("/user/current")
public BaseResponse userCurrent(HttpServletRequest request, @RequestParam @Nullable String id, @RequestParam @Nullable String username, @RequestParam @Nullable String email, @RequestParam @Nullable String phone) { public BaseResponse userCurrent(HttpServletRequest request, @RequestParam @Nullable String id, @RequestParam @Nullable String username, @RequestParam @Nullable String email, @RequestParam @Nullable String phone) {
log.info("请求接口[GET]: /user/current");
// 检查数据是否有问题 // 检查数据是否有问题
ArrayList<String> arrayForError = new ArrayList<>(); ArrayList<String> arrayForError = new ArrayList<>();
if (id != null && !id.isEmpty()) { if (id != null && !id.isEmpty()) {
@ -138,6 +144,7 @@ public class UserController {
@PostMapping("/user/current/all") @PostMapping("/user/current/all")
public BaseResponse userCurrentAll(@RequestBody @Validated UserAllCurrentVO userAllCurrentVO, public BaseResponse userCurrentAll(@RequestBody @Validated UserAllCurrentVO userAllCurrentVO,
HttpServletRequest request, @NotNull BindingResult bindingResult) { HttpServletRequest request, @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /user/current/all");
// 判断是否有参数错误 // 判断是否有参数错误
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
@ -153,12 +160,13 @@ public class UserController {
* @Param bindingResult: * @Param bindingResult:
**/ **/
@PostMapping("/user/add") @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()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
} }
return userService.userAdd(userAddVo,request); return userService.userAdd(userAddVo, request);
} }
@ -169,15 +177,15 @@ public class UserController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult)); return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
} }
return userService.userEdit(userEditVO,request); return userService.userEdit(userEditVO, request);
} }
@GetMapping("/user/profile/get") @GetMapping("/user/profile/get")
public BaseResponse userProfileGet(HttpServletRequest request) { public BaseResponse userProfileGet(HttpServletRequest request) {
log.info("请求接口[GET]: /user/profile/get");
return userService.userProfileGet(request); return userService.userProfileGet(request);
} }
} }

View File

@ -4,6 +4,7 @@ import com.google.gson.Gson;
import com.jsl.oa.mapper.InfoMapper; import com.jsl.oa.mapper.InfoMapper;
import com.jsl.oa.model.doData.info.CarouselDO; import com.jsl.oa.model.doData.info.CarouselDO;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DuplicateKeyException; import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -19,6 +20,7 @@ import java.util.Collections;
* @version v1.1.0 * @version v1.1.0
* @since v1.1.0 * @since v1.1.0
*/ */
@Slf4j
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class InfoDAO { public class InfoDAO {
@ -33,6 +35,7 @@ public class InfoDAO {
* @return {@link CarouselDO} * @return {@link CarouselDO}
*/ */
public CarouselDO getCarousel() { public CarouselDO getCarousel() {
log.info("\t> 执行 DAO 层 InfoDAO.getCarousel 方法");
String getCarouselSql = infoMapper.getCarousel(); String getCarouselSql = infoMapper.getCarousel();
CarouselDO getCarousel = null; CarouselDO getCarousel = null;
if (getCarouselSql != null && !getCarouselSql.equals("{}")) { if (getCarouselSql != null && !getCarouselSql.equals("{}")) {
@ -78,6 +81,7 @@ public class InfoDAO {
* @return {@link Boolean} * @return {@link Boolean}
*/ */
public boolean setCarousel(CarouselDO carouselDO) { public boolean setCarousel(CarouselDO carouselDO) {
log.info("\t> 执行 DAO 层 InfoDAO.setCarousel 方法");
sortCarousel(carouselDO); sortCarousel(carouselDO);
String setCarouselSql = gson.toJson(carouselDO); String setCarouselSql = gson.toJson(carouselDO);
return infoMapper.setCarousel(setCarouselSql); return infoMapper.setCarousel(setCarouselSql);

View File

@ -6,10 +6,8 @@ import com.jsl.oa.model.doData.ProjectCuttingDO;
import com.jsl.oa.model.doData.ProjectDO; import com.jsl.oa.model.doData.ProjectDO;
import com.jsl.oa.model.doData.info.ProjectShowDO; import com.jsl.oa.model.doData.info.ProjectShowDO;
import com.jsl.oa.model.voData.ProjectInfoVO; import com.jsl.oa.model.voData.ProjectInfoVO;
import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ErrorCode;
import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.dao.DuplicateKeyException; import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -17,6 +15,7 @@ import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@Slf4j
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class ProjectDAO { public class ProjectDAO {
@ -25,27 +24,33 @@ public class ProjectDAO {
private final Gson gson; private final Gson gson;
public void projectAdd(ProjectInfoVO projectAdd) { public void projectAdd(ProjectInfoVO projectAdd) {
log.info("\t> 执行 DAO 层 ProjectDAO.projectAdd 方法");
projectMapper.projectAdd(projectAdd); projectMapper.projectAdd(projectAdd);
} }
public void projectEdit(ProjectInfoVO projectEdit) { public void projectEdit(ProjectInfoVO projectEdit) {
log.info("\t> 执行 DAO 层 ProjectDAO.projectEdit 方法");
projectMapper.projectEdit(projectEdit); projectMapper.projectEdit(projectEdit);
} }
public boolean isExistProject(Long id) { public boolean isExistProject(Long id) {
log.info("\t> 执行 DAO 层 ProjectDAO.isExistProject 方法");
return projectMapper.getProjectById(id) != null; return projectMapper.getProjectById(id) != null;
} }
public List<ProjectCuttingDO> projectGetUserInCutting(Long uid) { public List<ProjectCuttingDO> projectGetUserInCutting(Long uid) {
log.info("\t> 执行 DAO 层 ProjectDAO.projectGetUserInCutting 方法");
return projectMapper.projectGetUserInCutting(uid); return projectMapper.projectGetUserInCutting(uid);
} }
public void projectAddUserForCutting(Long uid, Long pid) { public void projectAddUserForCutting(Long uid, Long pid) {
log.info("\t> 执行 DAO 层 ProjectDAO.projectAddUserForCutting 方法");
projectMapper.projectAddUserInCutting(uid, pid); projectMapper.projectAddUserInCutting(uid, pid);
} }
public ProjectShowDO getHeader() { public ProjectShowDO getHeader() {
log.info("\t> 执行 DAO 层 ProjectDAO.getHeader 方法");
String getProjectShowSql = projectMapper.getHeader(); String getProjectShowSql = projectMapper.getHeader();
ProjectShowDO getProjectShow = null; ProjectShowDO getProjectShow = null;
if (getProjectShowSql != null && !getProjectShowSql.equals("{}")) { if (getProjectShowSql != null && !getProjectShowSql.equals("{}")) {
@ -67,9 +72,10 @@ public class ProjectDAO {
} }
private void sortProject(ProjectShowDO projectShowDO) { private void sortProject(ProjectShowDO projectShowDO) {
log.info("\t> 执行 DAO 层 ProjectDAO.sortProject 方法");
for (int i = 0; i < projectShowDO.getData().size(); i++) { for (int i = 0; i < projectShowDO.getData().size(); i++) {
for (int j = 0; j < projectShowDO.getData().size(); j++) { for (int j = 0; j < projectShowDO.getData().size(); j++) {
if (projectShowDO.getOrder().equals("desc")) { if ("desc".equals(projectShowDO.getOrder())) {
if (projectShowDO.getData().get(i).getDisplayOrder() > projectShowDO.getData().get(j).getDisplayOrder()) { if (projectShowDO.getData().get(i).getDisplayOrder() > projectShowDO.getData().get(j).getDisplayOrder()) {
Collections.swap(projectShowDO.getData(), i, j); Collections.swap(projectShowDO.getData(), i, j);
} }
@ -83,21 +89,20 @@ public class ProjectDAO {
} }
public boolean setProjectShow(ProjectShowDO projectShowDO) { public boolean setProjectShow(ProjectShowDO projectShowDO) {
log.info("\t> 执行 DAO 层 ProjectDAO.setProjectShow 方法");
sortProject(projectShowDO); sortProject(projectShowDO);
String setProjectShow = gson.toJson(projectShowDO); String setProjectShow = gson.toJson(projectShowDO);
return projectMapper.setProjectShow(setProjectShow); return projectMapper.setProjectShow(setProjectShow);
} }
public List<ProjectDO> get() { public List<ProjectDO> get() {
log.info("\t> 执行 DAO 层 ProjectDAO.get 方法");
return projectMapper.get(); return projectMapper.get();
} }
public BaseResponse getByName(String name) { public ProjectDO getByName(String name) {
if(projectMapper.getByName(name)!=null){ log.info("\t> 执行 DAO 层 ProjectDAO.getByName 方法");
return ResultUtil.success(projectMapper.getByName(name)); return projectMapper.getByName(name);
}else return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
} }
public boolean projectDelete(Long id){ public boolean projectDelete(Long id){

View File

@ -3,56 +3,68 @@ package com.jsl.oa.dao;
import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.mapper.RoleMapper;
import com.jsl.oa.model.doData.RoleDO; import com.jsl.oa.model.doData.RoleDO;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@Slf4j
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class RoleDAO { public class RoleDAO {
public final RoleMapper roleMapper; public final RoleMapper roleMapper;
public void roleAddUser(Long uid, Long rid) { public void roleAddUser(Long uid, Long rid) {
log.info("\t> 执行 DAO 层 RoleDAO.roleAddUser 方法");
roleMapper.roleAddUser(uid, rid); roleMapper.roleAddUser(uid, rid);
} }
public void roleRemoveUser(Long uid) { public void roleRemoveUser(Long uid) {
log.info("\t> 执行 DAO 层 RoleDAO.roleRemoveUser 方法");
roleMapper.roleRemoveUser(uid); roleMapper.roleRemoveUser(uid);
} }
public List<RoleDO> getRolesById(String id) { public List<RoleDO> getRolesById(String id) {
log.info("\t> 执行 DAO 层 RoleDAO.getRolesById 方法");
ArrayList<RoleDO> getRoleList = new ArrayList<>(); ArrayList<RoleDO> getRoleList = new ArrayList<>();
getRoleList.add(roleMapper.getRoleById(Long.valueOf(id))); getRoleList.add(roleMapper.getRoleById(Long.valueOf(id)));
return getRoleList; return getRoleList;
} }
public RoleDO getRoleById(Long id) { public RoleDO getRoleById(Long id) {
log.info("\t> 执行 DAO 层 RoleDAO.getRoleById 方法");
return roleMapper.getRoleById(id); return roleMapper.getRoleById(id);
} }
public List<RoleDO> getRole() { public List<RoleDO> getRole() {
log.info("\t> 执行 DAO 层 RoleDAO.getRole 方法");
return roleMapper.getRole(); return roleMapper.getRole();
} }
public void roleAdd(RoleDO roleDO) { public void roleAdd(RoleDO roleDO) {
log.info("\t> 执行 DAO 层 RoleDAO.roleAdd 方法");
roleMapper.roleAdd(roleDO); roleMapper.roleAdd(roleDO);
} }
public boolean roleEdit(RoleDO getRole) { public boolean roleEdit(RoleDO getRole) {
log.info("\t> 执行 DAO 层 RoleDAO.roleEdit 方法");
return roleMapper.roleEdit(getRole); return roleMapper.roleEdit(getRole);
} }
public boolean roleDelete(Long id) { public boolean roleDelete(Long id) {
log.info("\t> 执行 DAO 层 RoleDAO.roleDelete 方法");
return roleMapper.roleDelete(id); return roleMapper.roleDelete(id);
} }
public boolean isExistRoleByRoleName(String roleName) { public boolean isExistRoleByRoleName(String roleName) {
log.info("\t> 执行 DAO 层 RoleDAO.isExistRoleByRoleName 方法");
RoleDO roleDO = roleMapper.getRoleByRoleName(roleName); RoleDO roleDO = roleMapper.getRoleByRoleName(roleName);
return roleDO != null; return roleDO != null;
} }
public boolean roleChangeUser(Long uid, Long rid) { public boolean roleChangeUser(Long uid, Long rid) {
log.info("\t> 执行 DAO 层 RoleDAO.roleChangeUser 方法");
return roleMapper.roleChangeUser(uid, rid); return roleMapper.roleChangeUser(uid, rid);
} }
} }

View File

@ -38,6 +38,7 @@ public class UserDAO {
* @author 筱锋xiao_lfeng * @author 筱锋xiao_lfeng
*/ */
public UserDO getUserInfoByUsername(String username) { public UserDO getUserInfoByUsername(String username) {
log.info("\t> 执行 DAO 层 UserDAO.getUserInfoByUsername 方法");
UserDO userDO = null; UserDO userDO = null;
// Redis 获取数据 // Redis 获取数据
// TODO: 10000-Redis: Redis 获取数据 // TODO: 10000-Redis: Redis 获取数据
@ -55,6 +56,7 @@ public class UserDAO {
* @return * @return
*/ */
public Boolean isExistUser(Long id) { public Boolean isExistUser(Long id) {
log.info("\t> 执行 DAO 层 UserDAO.isExistUser 方法");
return userMapper.getUserById(id) != null; return userMapper.getUserById(id) != null;
} }
@ -64,6 +66,7 @@ public class UserDAO {
* @param id * @param id
*/ */
public void userDelete(Long id) { public void userDelete(Long id) {
log.info("\t> 执行 DAO 层 UserDAO.userDelete 方法");
userMapper.userDelete(id); userMapper.userDelete(id);
} }
@ -73,14 +76,17 @@ public class UserDAO {
* @param id * @param id
*/ */
public void userLock(Long id,Long isLock) { public void userLock(Long id,Long isLock) {
log.info("\t> 执行 DAO 层 UserDAO.userLock 方法");
userMapper.userLock(id,isLock); userMapper.userLock(id,isLock);
} }
public void userEditProfile(UserEditProfileVO userEditProfileVO) { public void userEditProfile(UserEditProfileVO userEditProfileVO) {
log.info("\t> 执行 DAO 层 UserDAO.userEditProfile 方法");
userMapper.userEditProfile(userEditProfileVO); userMapper.userEditProfile(userEditProfileVO);
} }
public List<UserCurrentBackVO> userCurrentAll(UserAllCurrentVO userAllCurrentVO) { public List<UserCurrentBackVO> userCurrentAll(UserAllCurrentVO userAllCurrentVO) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentAll 方法");
List<UserDO> userCurrentDO = userMapper.getAllUser(userAllCurrentVO); List<UserDO> userCurrentDO = userMapper.getAllUser(userAllCurrentVO);
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>(); List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>();
userCurrentDO.forEach(it -> { userCurrentDO.forEach(it -> {
@ -91,6 +97,7 @@ public class UserDAO {
} }
public List<UserCurrentBackVO> userCurrentAllLike(UserAllCurrentVO userAllCurrentVO) { public List<UserCurrentBackVO> userCurrentAllLike(UserAllCurrentVO userAllCurrentVO) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentAllLike 方法");
List<UserDO> userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO); List<UserDO> userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO);
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>(); List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>();
userCurrentDO.forEach(it -> { userCurrentDO.forEach(it -> {
@ -101,6 +108,7 @@ public class UserDAO {
@Contract("_ -> param1") @Contract("_ -> param1")
private @NotNull List<UserCurrentDO> userCurrentAll(@NotNull List<UserCurrentDO> userCurrentDO) { private @NotNull List<UserCurrentDO> userCurrentAll(@NotNull List<UserCurrentDO> userCurrentDO) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentAll 方法");
userCurrentDO.forEach(it -> { userCurrentDO.forEach(it -> {
it.setRole(roleMapper.getRoleUserByUid(it.getId())); it.setRole(roleMapper.getRoleUserByUid(it.getId()));
if (it.getRole() == null) { if (it.getRole() == null) {
@ -121,6 +129,7 @@ public class UserDAO {
* @return {@link UserCurrentDO} * @return {@link UserCurrentDO}
*/ */
public UserCurrentDO userCurrentById(Long uid) { public UserCurrentDO userCurrentById(Long uid) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentById 方法");
UserCurrentDO userCurrentDO = userMapper.getUserCurrentById(uid); UserCurrentDO userCurrentDO = userMapper.getUserCurrentById(uid);
return getUserCurrentForRole(userCurrentDO); return getUserCurrentForRole(userCurrentDO);
} }
@ -132,6 +141,7 @@ public class UserDAO {
* @return {@link UserCurrentDO} * @return {@link UserCurrentDO}
*/ */
public UserCurrentDO userCurrentByUsername(String username) { public UserCurrentDO userCurrentByUsername(String username) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentByUsername 方法");
UserCurrentDO userCurrentDO = userMapper.getUserCurrentByUsername(username); UserCurrentDO userCurrentDO = userMapper.getUserCurrentByUsername(username);
return getUserCurrentForRole(userCurrentDO); return getUserCurrentForRole(userCurrentDO);
} }
@ -143,6 +153,7 @@ public class UserDAO {
* @return {@link UserCurrentDO} * @return {@link UserCurrentDO}
*/ */
public UserCurrentDO userCurrentByEmail(String email) { public UserCurrentDO userCurrentByEmail(String email) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentByEmail 方法");
UserCurrentDO userCurrentDO = userMapper.getUserCurrentByEmail(email); UserCurrentDO userCurrentDO = userMapper.getUserCurrentByEmail(email);
return getUserCurrentForRole(userCurrentDO); return getUserCurrentForRole(userCurrentDO);
} }
@ -154,11 +165,13 @@ public class UserDAO {
* @return {@link UserCurrentDO} * @return {@link UserCurrentDO}
*/ */
public UserCurrentDO userCurrentByPhone(String phone) { public UserCurrentDO userCurrentByPhone(String phone) {
log.info("\t> 执行 DAO 层 UserDAO.userCurrentByPhone 方法");
UserCurrentDO userCurrentDO = userMapper.getUserCurrentByPhone(phone); UserCurrentDO userCurrentDO = userMapper.getUserCurrentByPhone(phone);
return getUserCurrentForRole(userCurrentDO); return getUserCurrentForRole(userCurrentDO);
} }
private UserCurrentDO getUserCurrentForRole(UserCurrentDO userCurrentDO) { private UserCurrentDO getUserCurrentForRole(UserCurrentDO userCurrentDO) {
log.info("\t> 执行 DAO 层 UserDAO.getUserCurrentForRole 方法");
if (userCurrentDO != null) { if (userCurrentDO != null) {
RoleUserDO newRoleUserDO = new RoleUserDO(); RoleUserDO newRoleUserDO = new RoleUserDO();
newRoleUserDO.setRid(0L) newRoleUserDO.setRid(0L)
@ -179,11 +192,12 @@ public class UserDAO {
* @Param userDO: user 数据库表实体类 * @Param userDO: user 数据库表实体类
*/ */
public boolean userAdd(UserDO userDO) { public boolean userAdd(UserDO userDO) {
log.info("\t> 执行 DAO 层 userAdd 方法");
return userMapper.insertUser(userDO); return userMapper.insertUser(userDO);
} }
public void userEdit(UserDO userDO) { public void userEdit(UserDO userDO) {
log.info("> 执行 DAO 层 userEdit 方法"); log.info("\t> 执行 DAO 层 userEdit 方法");
userMapper.updateUser(userDO); userMapper.updateUser(userDO);
} }
@ -194,10 +208,8 @@ public class UserDAO {
* @Param username: 用户名 * @Param username: 用户名
**/ **/
public Boolean isRepeatUser(String username) { public Boolean isRepeatUser(String username) {
if (userMapper.getUserInfoByUsername(username) == null) { log.info("\t> 执行 DAO 层 isRepeatUser 方法");
return false; return userMapper.getUserInfoByUsername(username) != null;
}
return true;
} }
@ -219,7 +231,7 @@ public class UserDAO {
* @Param userId * @Param userId
**/ **/
public UserDO getUserById(Long userId) { public UserDO getUserById(Long userId) {
log.info("> 执行 DAO 层 getUserById 方法"); log.info("\t> 执行 DAO 层 getUserById 方法");
return userMapper.getUserById(userId); return userMapper.getUserById(userId);
} }

View File

@ -13,6 +13,10 @@ import org.springframework.web.bind.MissingServletRequestParameterException;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.annotation.RestControllerAdvice;
import java.util.Objects;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@Slf4j @Slf4j
@RestControllerAdvice @RestControllerAdvice
public class ProcessException { public class ProcessException {
@ -37,9 +41,18 @@ public class ProcessException {
@ExceptionHandler(value = MissingServletRequestParameterException.class) @ExceptionHandler(value = MissingServletRequestParameterException.class)
public ResponseEntity<BaseResponse> businessMissingServletRequestParameterException(MissingServletRequestParameterException e) { public ResponseEntity<BaseResponse> businessMissingServletRequestParameterException(MissingServletRequestParameterException e) {
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
// 使用正则表达式匹配并提取'id'部分
Pattern pattern = Pattern.compile("'.*?'");
Matcher matcher = pattern.matcher(Objects.requireNonNull(e.getMessage()));
// 查找匹配项
while (matcher.find()) {
String matchedGroup = matcher.group();
}
return ResponseEntity return ResponseEntity
.status(400) .status(400)
.body(ResultUtil.error(ErrorCode.PARAMETER_ERROR, e.getMessage())); .body(ResultUtil.error(ErrorCode.PARAMETER_ERROR, "缺少 " + e.getParameterName() + " 参数"));
} }
@ExceptionHandler(value = Exception.class) @ExceptionHandler(value = Exception.class)

View File

@ -44,6 +44,7 @@ public class AuthServiceImpl implements AuthService {
@Override @Override
public BaseResponse authRegister(@NotNull UserRegisterVO userRegisterVO) { public BaseResponse authRegister(@NotNull UserRegisterVO userRegisterVO) {
log.info("\t> 执行 Service 层 AuthService.userEdit 方法");
// 检查用户说是否存在 // 检查用户说是否存在
UserDO getUserByUsername = userMapper.getUserInfoByUsername(userRegisterVO.getUsername()); UserDO getUserByUsername = userMapper.getUserInfoByUsername(userRegisterVO.getUsername());
// 用户名已存在 // 用户名已存在
@ -77,23 +78,24 @@ public class AuthServiceImpl implements AuthService {
@Override @Override
public BaseResponse authLogin(@NotNull UserLoginVO userLoginVO) { public BaseResponse authLogin(@NotNull UserLoginVO userLoginVO) {
log.info("\t> 执行 Service 层 AuthService.userLogin 方法");
// 检查用户是否存在 // 检查用户是否存在
UserDO userDO; UserDO userDO;
if (Pattern.matches("^[0-9A-Za-z_]{3,40}$", userLoginVO.getUser())) { if (Pattern.matches("^[0-9A-Za-z_]{3,40}$", userLoginVO.getUser())) {
// 是否为用户名 // 是否为用户名
log.info("userLogin: 用户名登陆"); log.info("\t\t> 用户名登陆");
userDO = userMapper.getUserInfoByUsername(userLoginVO.getUser()); userDO = userMapper.getUserInfoByUsername(userLoginVO.getUser());
} else if (Pattern.matches("^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", userLoginVO.getUser())) { } else if (Pattern.matches("^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", userLoginVO.getUser())) {
// 是否为手机号 // 是否为手机号
log.info("userLogin: 手机号登陆"); log.info("\t\t> 手机号登陆");
userDO = userMapper.getUserInfoByPhone(userLoginVO.getUser()); userDO = userMapper.getUserInfoByPhone(userLoginVO.getUser());
} else if (Pattern.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", userLoginVO.getUser())) { } else if (Pattern.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", userLoginVO.getUser())) {
// 是否为邮箱 // 是否为邮箱
log.info("userLogin: 邮箱登陆"); log.info("\t\t> 邮箱登陆");
return ResultUtil.error(ErrorCode.EMAIL_LOGIN_NOT_SUPPORT); return ResultUtil.error(ErrorCode.EMAIL_LOGIN_NOT_SUPPORT);
} else { } else {
// 工号 // 工号
log.info("userLogin: 工号登陆"); log.info("\t\t> 工号登陆");
userDO = userMapper.getUserByJobId(userLoginVO.getUser()); userDO = userMapper.getUserByJobId(userLoginVO.getUser());
} }
if (userDO != null) { if (userDO != null) {
@ -102,6 +104,7 @@ public class AuthServiceImpl implements AuthService {
if (userDO.getAccountNoLocked()) { if (userDO.getAccountNoLocked()) {
// 获取用户并登陆 // 获取用户并登陆
if (BCrypt.checkpw(userLoginVO.getPassword(), userDO.getPassword())) { if (BCrypt.checkpw(userLoginVO.getPassword(), userDO.getPassword())) {
log.info("\t\t> 登陆成功,用户 [{}]{}", userDO.getId(), userDO.getUsername());
return this.encapsulateDisplayContent(userDO); return this.encapsulateDisplayContent(userDO);
} else { } else {
return ResultUtil.error(ErrorCode.WRONG_PASSWORD); return ResultUtil.error(ErrorCode.WRONG_PASSWORD);
@ -119,6 +122,7 @@ public class AuthServiceImpl implements AuthService {
@Override @Override
public BaseResponse authLoginByEmail(String email, Integer code) { public BaseResponse authLoginByEmail(String email, Integer code) {
log.info("\t> 执行 Service 层 AuthService.authLoginByEmail 方法");
// 获取验证码是否有效 // 获取验证码是否有效
Integer redisCode = emailRedisUtil.getData(BusinessConstants.BUSINESS_LOGIN, email); Integer redisCode = emailRedisUtil.getData(BusinessConstants.BUSINESS_LOGIN, email);
if (redisCode != null) { if (redisCode != null) {
@ -138,6 +142,7 @@ public class AuthServiceImpl implements AuthService {
@Override @Override
public BaseResponse authLoginSendEmailCode(String email) { public BaseResponse authLoginSendEmailCode(String email) {
log.info("\t> 执行 Service 层 AuthService.authLoginSendEmailCode 方法");
// 获取用户信息 // 获取用户信息
UserDO userDO = userMapper.getUserInfoByEmail(email); UserDO userDO = userMapper.getUserInfoByEmail(email);
if (userDO != null) { if (userDO != null) {
@ -163,6 +168,7 @@ public class AuthServiceImpl implements AuthService {
@Override @Override
public BaseResponse authChangePassword(HttpServletRequest request, @NotNull UserChangePasswordVO userChangePasswordVO) { public BaseResponse authChangePassword(HttpServletRequest request, @NotNull UserChangePasswordVO userChangePasswordVO) {
log.info("\t> 执行 Service 层 AuthService.authChangePassword 方法");
// 检查新密码输入无误 // 检查新密码输入无误
if (!userChangePasswordVO.getNewPassword().equals(userChangePasswordVO.getConfirmPassword())) { if (!userChangePasswordVO.getNewPassword().equals(userChangePasswordVO.getConfirmPassword())) {
return ResultUtil.error(ErrorCode.PASSWORD_NOT_SAME); return ResultUtil.error(ErrorCode.PASSWORD_NOT_SAME);
@ -188,6 +194,7 @@ public class AuthServiceImpl implements AuthService {
@Override @Override
public BaseResponse authLogout(HttpServletRequest request) { public BaseResponse authLogout(HttpServletRequest request) {
log.info("\t> 执行 Service 层 AuthService.authLogout 方法");
// 获取用户 // 获取用户
UserDO userDO = userMapper.getUserById(Processing.getAuthHeaderToUserId(request)); UserDO userDO = userMapper.getUserById(Processing.getAuthHeaderToUserId(request));
// 删除Token // 删除Token
@ -200,6 +207,7 @@ public class AuthServiceImpl implements AuthService {
@Override @Override
public BaseResponse authForgetPassword(UserForgetPasswordVO userForgetPasswordVO) { public BaseResponse authForgetPassword(UserForgetPasswordVO userForgetPasswordVO) {
log.info("\t> 执行 Service 层 AuthService.authForgetPassword 方法");
// 获取验证码是否有效 // 获取验证码是否有效
Integer redisCode = emailRedisUtil.getData(BusinessConstants.BUSINESS_LOGIN, userForgetPasswordVO.getEmail()); Integer redisCode = emailRedisUtil.getData(BusinessConstants.BUSINESS_LOGIN, userForgetPasswordVO.getEmail());
if (redisCode != null) { if (redisCode != null) {

View File

@ -31,6 +31,7 @@ public class InfoServiceImpl implements InfoService {
@Override @Override
public BaseResponse addHeaderImage(HttpServletRequest request, CarouselVO carouselVO) { public BaseResponse addHeaderImage(HttpServletRequest request, CarouselVO carouselVO) {
log.info("\t> 执行 Service 层 InfoService.addHeaderImage 方法");
// 用户权限校验 // 用户权限校验
if (!Processing.checkUserIsAdmin(request, roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -60,6 +61,7 @@ public class InfoServiceImpl implements InfoService {
@Override @Override
public BaseResponse editHeaderImage(HttpServletRequest request, CarouselVO carouselVO, Integer id) { public BaseResponse editHeaderImage(HttpServletRequest request, CarouselVO carouselVO, Integer id) {
log.info("\t> 执行 Service 层 InfoService.editHeaderImage 方法");
// 用户权限校验 // 用户权限校验
if (!Processing.checkUserIsAdmin(request, roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -91,6 +93,8 @@ public class InfoServiceImpl implements InfoService {
@Override @Override
public BaseResponse getHeaderImage(Integer id) { public BaseResponse getHeaderImage(Integer id) {
log.info("\t> 执行 Service 层 InfoService.getHeaderImage 方法");
// 获取轮播图信息
CarouselDO carouselDO = infoDAO.getCarousel(); CarouselDO carouselDO = infoDAO.getCarousel();
if (id != null) { if (id != null) {
if (id > carouselDO.getData().size()) { if (id > carouselDO.getData().size()) {
@ -105,6 +109,7 @@ public class InfoServiceImpl implements InfoService {
@Override @Override
public BaseResponse delHeaderImage(HttpServletRequest request, Integer id) { public BaseResponse delHeaderImage(HttpServletRequest request, Integer id) {
log.info("\t> 执行 Service 层 InfoService.delHeaderImage 方法");
// 用户权限校验 // 用户权限校验
if (!Processing.checkUserIsAdmin(request, roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -126,6 +131,7 @@ public class InfoServiceImpl implements InfoService {
@Override @Override
public BaseResponse editSettingHeaderImage(HttpServletRequest request, Boolean showType) { public BaseResponse editSettingHeaderImage(HttpServletRequest request, Boolean showType) {
log.info("\t> 执行 Service 层 InfoService.editSettingHeaderImage 方法");
// 用户权限校验 // 用户权限校验
if (!Processing.checkUserIsAdmin(request, roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -143,6 +149,7 @@ public class InfoServiceImpl implements InfoService {
@Override @Override
public BaseResponse getHeaderUser(HttpServletRequest request, String order, String orderBy) { public BaseResponse getHeaderUser(HttpServletRequest request, String order, String orderBy) {
log.info("\t> 执行 Service 层 InfoService.getHeaderUser 方法");
// 默认无参数情况 // 默认无参数情况
if (order == null) { if (order == null) {
order = "asc"; order = "asc";
@ -151,16 +158,16 @@ public class InfoServiceImpl implements InfoService {
orderBy = "userId"; orderBy = "userId";
} }
// 检查参数是否错误 // 检查参数是否错误
if (!(order.equals("asc") || order.equals("desc")) || !(orderBy.equals("userName") || orderBy.equals("userId"))) { if (!("asc".equals(order) || "desc".equals(order)) || !("userName".equals(orderBy) || "userId".equals(orderBy))) {
return ResultUtil.error(ErrorCode.PARAMETER_ERROR); return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
} }
//获取用户信息 //获取用户信息
List<UserDO> userDOS = userDAO.getRecommendUser(); List<UserDO> userDOList = userDAO.getRecommendUser();
//进行排序 //进行排序
Processing.orderUser(userDOS, order, orderBy); Processing.orderUser(userDOList, order, orderBy);
//封装VO类 //封装VO类
List<UserProfileVo> userProfileVos = new ArrayList<>(); List<UserProfileVo> userProfileVos = new ArrayList<>();
for (UserDO userDO : userDOS) { for (UserDO userDO : userDOList) {
UserProfileVo userProfileVo = new UserProfileVo(); UserProfileVo userProfileVo = new UserProfileVo();
Processing.copyProperties(userDO, userProfileVo); Processing.copyProperties(userDO, userProfileVo);
userProfileVo.setSex(Processing.getSex(userDO.getSex())); userProfileVo.setSex(Processing.getSex(userDO.getSex()));

View File

@ -2,6 +2,7 @@ package com.jsl.oa.services.impl;
import com.jsl.oa.services.MailService; import com.jsl.oa.services.MailService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.mail.javamail.MimeMessageHelper;
@ -25,6 +26,7 @@ import javax.mail.internet.MimeMessage;
* @see JavaMailSender * @see JavaMailSender
* @see MimeMessageHelper * @see MimeMessageHelper
*/ */
@Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class MailServiceImpl implements MailService { public class MailServiceImpl implements MailService {
@ -36,6 +38,7 @@ public class MailServiceImpl implements MailService {
@Override @Override
public boolean sendMail(String sendTo, String subject, String text) { public boolean sendMail(String sendTo, String subject, String text) {
log.info("\t> 执行 Service 层 MailService.sendMail 方法");
//发送多媒体邮件 //发送多媒体邮件
try { try {
MimeMessage message = javaMailSender.createMimeMessage(); MimeMessage message = javaMailSender.createMimeMessage();
@ -47,9 +50,11 @@ public class MailServiceImpl implements MailService {
helper.setText(text, true); helper.setText(text, true);
javaMailSender.send(message); javaMailSender.send(message);
log.info("\t> 发送邮件 {} 标题 {} 成功", sendTo, subject);
return true; return true;
} catch (MessagingException e) { } catch (MessagingException e) {
//TODO: 10001-发送邮件失败处理 //TODO: 10001-发送邮件失败处理
log.error("\t> 邮件发送失败", e);
return false; return false;
} }
@ -57,12 +62,14 @@ public class MailServiceImpl implements MailService {
@Override @Override
public boolean sendMail(String sendTo, String model) { public boolean sendMail(String sendTo, String model) {
log.info("\t> 执行 Service 层 MailService.sendMail 方法");
return false; return false;
} }
@Override @Override
@Async @Async
public void sendMailAboutUserLogin(String email, Integer code) { public void sendMailAboutUserLogin(String email, Integer code) {
log.info("\t> 执行 Service 层 MailService.sendMailAboutUserLogin 方法");
// 发送邮件带HTML模块部分 // 发送邮件带HTML模块部分
try { try {
MimeMessage message = javaMailSender.createMimeMessage(); MimeMessage message = javaMailSender.createMimeMessage();
@ -78,8 +85,10 @@ public class MailServiceImpl implements MailService {
mimeMessage.setText(emailContent, true); mimeMessage.setText(emailContent, true);
javaMailSender.send(message); javaMailSender.send(message);
log.info("\t> 发送登陆邮件给 {} 登陆验证码 {}", email, code);
} catch (MessagingException e) { } catch (MessagingException e) {
//TODO: 10001-发送邮件失败处理 //TODO: 10001-发送邮件失败处理
log.error("\t> 邮件发送失败", e);
} }
} }
} }

View File

@ -1,12 +1,9 @@
package com.jsl.oa.services.impl; package com.jsl.oa.services.impl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jsl.oa.dao.UserDAO; import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.mapper.PermissionMapper; import com.jsl.oa.mapper.PermissionMapper;
import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.mapper.RoleMapper;
import com.jsl.oa.model.doData.PermissionDO; import com.jsl.oa.model.doData.PermissionDO;
import com.jsl.oa.model.doData.RolePermissionDO;
import com.jsl.oa.model.voData.PermissionContentVo; 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.services.PermissionService;
@ -15,14 +12,13 @@ import com.jsl.oa.utils.ErrorCode;
import com.jsl.oa.utils.Processing; import com.jsl.oa.utils.Processing;
import com.jsl.oa.utils.ResultUtil; import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
@Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class PermissionServiceImpl implements PermissionService { public class PermissionServiceImpl implements PermissionService {
@ -33,6 +29,7 @@ public class PermissionServiceImpl implements PermissionService {
@Override @Override
public BaseResponse permissionAdd(HttpServletRequest request, Long rid, Long pid) { public BaseResponse permissionAdd(HttpServletRequest request, Long rid, Long pid) {
log.info("\t> 执行 Service 层 PermissionService.permissionAdd 方法");
if(!Processing.checkUserIsAdmin(request,roleMapper)){ if(!Processing.checkUserIsAdmin(request,roleMapper)){
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
} }
@ -42,6 +39,7 @@ public class PermissionServiceImpl implements PermissionService {
@Override @Override
public BaseResponse permissionUser(HttpServletRequest request, Long uid) { public BaseResponse permissionUser(HttpServletRequest request, Long uid) {
log.info("\t> 执行 Service 层 PermissionService.permissionUser 方法");
if(userDAO.isExistUser(uid)){ if(userDAO.isExistUser(uid)){
List<String> permission = permissionMapper.permissionUser(uid); List<String> permission = permissionMapper.permissionUser(uid);
return ResultUtil.success(permission); return ResultUtil.success(permission);
@ -52,6 +50,7 @@ public class PermissionServiceImpl implements PermissionService {
@Override @Override
public BaseResponse permissionGet(HttpServletRequest request) { public BaseResponse permissionGet(HttpServletRequest request) {
log.info("\t> 执行 Service 层 PermissionService.permissionGet 方法");
//检验用户权限是否为管理员 //检验用户权限是否为管理员
if(!Processing.checkUserIsAdmin(request,roleMapper)){ if(!Processing.checkUserIsAdmin(request,roleMapper)){
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -66,6 +65,7 @@ public class PermissionServiceImpl implements PermissionService {
@Override @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)){ if(!Processing.checkUserIsAdmin(request,roleMapper)){
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);

View File

@ -15,6 +15,7 @@ import com.jsl.oa.utils.ErrorCode;
import com.jsl.oa.utils.Processing; import com.jsl.oa.utils.Processing;
import com.jsl.oa.utils.ResultUtil; import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -23,6 +24,7 @@ import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class ProjectServiceImpl implements ProjectService { public class ProjectServiceImpl implements ProjectService {
@ -33,33 +35,39 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public BaseResponse projectAdd(ProjectInfoVO projectAdd) { public BaseResponse projectAdd(ProjectInfoVO projectAdd) {
log.info("\t> 执行 Service 层 ProjectService.projectAdd 方法");
projectDAO.projectAdd(projectAdd); projectDAO.projectAdd(projectAdd);
return ResultUtil.success("添加成功"); return ResultUtil.success("添加成功");
} }
@Override @Override
public BaseResponse projectEdit(@NotNull ProjectInfoVO projectEdit) { public BaseResponse projectEdit(@NotNull ProjectInfoVO projectEdit) {
log.info("\t> 执行 Service 层 ProjectService.projectEdit 方法");
//判断项目是否存在 //判断项目是否存在
if(projectDAO.isExistProject(projectEdit.getId())) { if (projectDAO.isExistProject(projectEdit.getId())) {
projectDAO.projectEdit(projectEdit); projectDAO.projectEdit(projectEdit);
return ResultUtil.success("修改成功"); return ResultUtil.success("修改成功");
}else return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST); } else {
return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
}
} }
@Override @Override
public BaseResponse projectGetUserInCutting(Long uid) { public BaseResponse projectGetUserInCutting(Long uid) {
if(userDAO.isExistUser(uid)) { log.info("\t> 执行 Service 层 ProjectService.projectGetUserInCutting 方法");
List<ProjectCuttingDO> projectCuttingDOList =projectDAO.projectGetUserInCutting(uid); if (userDAO.isExistUser(uid)) {
List<ProjectCuttingDO> projectCuttingDOList = projectDAO.projectGetUserInCutting(uid);
return ResultUtil.success(projectCuttingDOList); return ResultUtil.success(projectCuttingDOList);
} else {
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
} }
else return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
} }
@Override @Override
public BaseResponse projectAddUserForCutting(Long uid, Long pid) { public BaseResponse projectAddUserForCutting(Long uid, Long pid) {
if(userDAO.isExistUser(uid)){ log.info("\t> 执行 Service 层 ProjectService.projectAddUserForCutting 方法");
projectDAO.projectAddUserForCutting(uid,pid); if (userDAO.isExistUser(uid)) {
projectDAO.projectAddUserForCutting(uid, pid);
return ResultUtil.success(); return ResultUtil.success();
} }
return null; return null;
@ -67,6 +75,7 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public BaseResponse getHeader(Integer id) { public BaseResponse getHeader(Integer id) {
log.info("\t> 执行 Service 层 InfoService.getHeader 方法");
ProjectShowDO projectShowDO = projectDAO.getHeader(); ProjectShowDO projectShowDO = projectDAO.getHeader();
if (id != null) { if (id != null) {
if (id > projectShowDO.getData().size()) { if (id > projectShowDO.getData().size()) {
@ -81,6 +90,7 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public BaseResponse addHeader(HttpServletRequest request, ProjectShowVO projectShowVO) { public BaseResponse addHeader(HttpServletRequest request, ProjectShowVO projectShowVO) {
log.info("\t> 执行 Service 层 InfoService.addHeader 方法");
// 用户权限校验 // 用户权限校验
if (!Processing.checkUserIsAdmin(request, roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -110,6 +120,7 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public BaseResponse delHeader(Integer id, HttpServletRequest request) { public BaseResponse delHeader(Integer id, HttpServletRequest request) {
log.info("\t> 执行 Service 层 InfoService.delHeader 方法");
// 用户权限校验 // 用户权限校验
if (!Processing.checkUserIsAdmin(request, roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -131,6 +142,7 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id) { public BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id) {
log.info("\t> 执行 Service 层 InfoService.editHeader 方法");
// 用户权限校验 // 用户权限校验
if (!Processing.checkUserIsAdmin(request, roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -162,14 +174,15 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public BaseResponse get() { public BaseResponse get() {
List<ProjectDO> projectDOList =projectDAO.get(); log.info("\t> 执行 Service 层 ProjectService.get 方法");
List<ProjectDO> projectDOList = projectDAO.get();
return ResultUtil.success(projectDOList); return ResultUtil.success(projectDOList);
} }
@Override @Override
public BaseResponse getByName(String name) { public BaseResponse getByName(String name) {
log.info("\t> 执行 Service 层 ProjectService.getByName 方法");
return projectDAO.getByName(name); return ResultUtil.success(projectDAO.getByName(name));
} }
@Override @Override

View File

@ -12,12 +12,14 @@ import com.jsl.oa.utils.ErrorCode;
import com.jsl.oa.utils.Processing; import com.jsl.oa.utils.Processing;
import com.jsl.oa.utils.ResultUtil; import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@Slf4j
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class RoleServiceImpl implements RoleService { public class RoleServiceImpl implements RoleService {
@ -27,6 +29,7 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
public BaseResponse roleAddUser(HttpServletRequest request, Long uid, Long rid) { public BaseResponse roleAddUser(HttpServletRequest request, Long uid, Long rid) {
log.info("\t> 执行 Service 层 RoleService.roleAddUser 方法");
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
roleDAO.roleAddUser(uid, rid); roleDAO.roleAddUser(uid, rid);
return ResultUtil.success(); return ResultUtil.success();
@ -35,6 +38,7 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
public BaseResponse roleRemoveUser(HttpServletRequest request, Long uid) { public BaseResponse roleRemoveUser(HttpServletRequest request, Long uid) {
log.info("\t> 执行 Service 层 RoleService.roleRemoveUser 方法");
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
roleDAO.roleRemoveUser(uid); roleDAO.roleRemoveUser(uid);
return ResultUtil.success(); return ResultUtil.success();
@ -43,6 +47,7 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
public BaseResponse roleChangeUser(HttpServletRequest request, Long uid, Long rid) { public BaseResponse roleChangeUser(HttpServletRequest request, Long uid, Long rid) {
log.info("\t> 执行 Service 层 RoleService.roleChangeUser 方法");
//检测用户是否存在 //检测用户是否存在
if (!userDAO.isExistUser(uid)) { if (!userDAO.isExistUser(uid)) {
return ResultUtil.error(ErrorCode.USER_NOT_EXIST); return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
@ -63,6 +68,7 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
public BaseResponse roleGet(HttpServletRequest request, String id) { public BaseResponse roleGet(HttpServletRequest request, String id) {
log.info("\t> 执行 Service 层 RoleService.roleGet 方法");
// 检查用户权限 // 检查用户权限
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -87,6 +93,7 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
public BaseResponse roleEdit(HttpServletRequest request, RoleEditVO roleEditVO) { public BaseResponse roleEdit(HttpServletRequest request, RoleEditVO roleEditVO) {
log.info("\t> 执行 Service 层 RoleService.roleEdit 方法");
// 检查用户权限 // 检查用户权限
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -110,6 +117,7 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
public BaseResponse roleDelete(HttpServletRequest request, Long id) { public BaseResponse roleDelete(HttpServletRequest request, Long id) {
log.info("\t> 执行 Service 层 RoleService.roleDelete 方法");
// 检查用户权限 // 检查用户权限
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);
@ -131,6 +139,7 @@ public class RoleServiceImpl implements RoleService {
@Override @Override
public BaseResponse addRole(HttpServletRequest request, RoleAddVo roleAddVO) throws ClassCopyException { public BaseResponse addRole(HttpServletRequest request, RoleAddVo roleAddVO) throws ClassCopyException {
log.info("\t> 执行 Service 层 RoleService.addRole 方法");
// 检查用户权限 // 检查用户权限
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);

View File

@ -173,7 +173,7 @@ public class UserServiceImpl implements UserService {
@Override @Override
public BaseResponse userEdit(UserEditVO userEditVO, HttpServletRequest request) { public BaseResponse userEdit(UserEditVO userEditVO, HttpServletRequest request) {
log.info("> 执行 Service 层 userEdit 方法"); log.info("\t> 执行 Service 层 userEdit 方法");
// 检测用户是否为管理员 // 检测用户是否为管理员
if (!Processing.checkUserIsAdmin(request, roleMapper)) { if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_ADMIN); return ResultUtil.error(ErrorCode.NOT_ADMIN);

View File

@ -11,47 +11,55 @@ public class ResultUtil {
@Contract(" -> new") @Contract(" -> new")
public static @NotNull BaseResponse success() { public static @NotNull BaseResponse success() {
log.info("成功: Success[200] {}", "操作成功"); log.info("成功: Success[200] {}", "操作成功");
log.info("==================================================");
return new BaseResponse("Success", 200, "操作成功", null); return new BaseResponse("Success", 200, "操作成功", null);
} }
@Contract("_ -> new") @Contract("_ -> new")
public static @NotNull BaseResponse success(String message) { public static @NotNull BaseResponse success(String message) {
log.info("成功: Success[200] {}", message); log.info("成功: Success[200] {}", message);
log.info("==================================================");
return new BaseResponse("Success", 200, message, null); return new BaseResponse("Success", 200, message, null);
} }
@Contract(value = "_ -> new", pure = true) @Contract(value = "_ -> new", pure = true)
public static @NotNull BaseResponse success(Object data) { public static @NotNull BaseResponse success(Object data) {
log.info("成功: Success[200] {}", "操作成功"); log.info("成功: Success[200] {}", "操作成功");
log.info("==================================================");
return new BaseResponse("Success", 200, "操作成功", data); return new BaseResponse("Success", 200, "操作成功", data);
} }
@Contract(value = "_, _ -> new", pure = true) @Contract(value = "_, _ -> new", pure = true)
public static @NotNull BaseResponse success(String message, Object data) { public static @NotNull BaseResponse success(String message, Object data) {
log.info("成功: Success[200] {}", message); log.info("成功: Success[200] {}", message);
log.info("==================================================");
return new BaseResponse("Success", 200, message, data); return new BaseResponse("Success", 200, message, data);
} }
@Contract("_ -> new") @Contract("_ -> new")
public static @NotNull BaseResponse error(@NotNull ErrorCode errorCode) { public static @NotNull BaseResponse error(@NotNull ErrorCode errorCode) {
log.warn("失败: 错误码[" + errorCode.getCode() + "] {} - {}", errorCode.getOutput(), errorCode.getMessage()); log.warn("失败: 错误码[" + errorCode.getCode() + "] {} - {}", errorCode.getOutput(), errorCode.getMessage());
log.info("==================================================");
return new BaseResponse(errorCode.getOutput(), errorCode.getCode(), errorCode.getMessage()); return new BaseResponse(errorCode.getOutput(), errorCode.getCode(), errorCode.getMessage());
} }
@Contract("_, _ -> new") @Contract("_, _ -> new")
public static @NotNull BaseResponse error(@NotNull ErrorCode errorCode, Object data) { public static @NotNull BaseResponse error(@NotNull ErrorCode errorCode, Object data) {
log.warn("失败: 错误码[" + errorCode.getCode() + "] {} - {}", errorCode.getOutput(), errorCode.getMessage()); log.warn("失败: 错误码[" + errorCode.getCode() + "] {} - {}", errorCode.getOutput(), errorCode.getMessage());
log.info("==================================================");
return new BaseResponse(errorCode.getOutput(), errorCode.getCode(), errorCode.getMessage(), data); return new BaseResponse(errorCode.getOutput(), errorCode.getCode(), errorCode.getMessage(), data);
} }
@Contract(value = "_, _, _, _ -> new", pure = true) @Contract(value = "_, _, _, _ -> new", pure = true)
public static @NotNull BaseResponse error(String output, Integer code, String message, Object data) { public static @NotNull BaseResponse error(String output, Integer code, String message, Object data) {
log.warn("失败: 错误码[" + code + "] {} - {}", output, message); log.warn("失败: 错误码[" + code + "] {} - {}", output, message);
log.info("==================================================");
return new BaseResponse(output, code, message, data); return new BaseResponse(output, code, message, data);
} }
public static @NotNull ResponseEntity<BaseResponse> error(String output, Integer code, String message) { public static @NotNull ResponseEntity<BaseResponse> error(String output, Integer code, String message) {
log.warn("失败: 错误码[" + code + "] {} - {}", output, message); log.warn("失败: 错误码[" + code + "] {} - {}", output, message);
log.info("==================================================");
return ResponseEntity.status(code) return ResponseEntity.status(code)
.body(new BaseResponse(output, code, message)); .body(new BaseResponse(output, code, message));
} }

View File

@ -12,7 +12,7 @@ spring:
port: 6379 port: 6379
password: 123456 password: 123456
profiles: profiles:
active: dev active: test
mybatis: mybatis:
configuration: configuration:
map-underscore-to-camel-case: true map-underscore-to-camel-case: true