SysDeptController.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.cdf.controller.back;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.cdf.aop.SysLog;
  4. import com.cdf.common.LogInfoKey;
  5. import com.cdf.common.ResultCode;
  6. import com.cdf.common.ResultData;
  7. import com.cdf.entity.Dept;
  8. import com.cdf.entity.Menu;
  9. import com.cdf.entity.Shop;
  10. import com.cdf.entity.User;
  11. import com.cdf.exception.BusinessException;
  12. import com.cdf.response.DeptVo;
  13. import com.cdf.response.MenuVo;
  14. import com.cdf.service.IDeptService;
  15. import com.cdf.service.ILogService;
  16. import com.cdf.service.IShopService;
  17. import com.cdf.service.IUserService;
  18. import org.springframework.beans.BeanUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.web.bind.annotation.PostMapping;
  21. import org.springframework.web.bind.annotation.RequestBody;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import org.springframework.web.bind.annotation.RestController;
  24. import java.util.ArrayList;
  25. import java.util.List;
  26. @RestController
  27. @RequestMapping("/back/dept")
  28. public class SysDeptController extends BaseLogController{
  29. @Autowired
  30. private IDeptService deptService;
  31. @Autowired
  32. private IUserService userService;
  33. @Autowired
  34. private IShopService shopService;
  35. @Autowired
  36. private ILogService logService;
  37. @PostMapping("/saveOrUpdate")
  38. public ResultData saveOrUpdate(@RequestBody Dept dept){
  39. if(dept.getId()!=null && dept.getId().equals(dept.getParentId())){
  40. throw new BusinessException(ResultCode.ERROR);
  41. }
  42. String info = null;
  43. if(dept.getId()== null){
  44. info = String.format(LogInfoKey.baseInfo,"新增",dept.getDeptName(),"组织架构");
  45. }else {
  46. info = String.format(LogInfoKey.baseInfo,"编辑",dept.getDeptName(),"组织架构");
  47. dept.setCreateTime(null);
  48. dept.setUpdateTime(null);
  49. }
  50. logService.addLog("组织架构",info,getIp(),getToken());
  51. deptService.saveOrUpdate(dept);
  52. return ResultData.ok(dept);
  53. }
  54. @PostMapping("/delete")
  55. public ResultData delete(@RequestBody Dept param){
  56. Dept dept = deptService.getById(param.getId());
  57. if(dept == null ){
  58. throw new BusinessException(ResultCode.NOT_RECORD);
  59. }
  60. if(dept.getParentId() ==null){
  61. throw new BusinessException(ResultCode.NOT_DELETE_PARENT_DEPT);
  62. }
  63. LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
  64. queryWrapper.eq(User::getDeptId,dept.getId());
  65. long count = userService.count(queryWrapper);
  66. if(count > 0){
  67. throw new BusinessException(ResultCode.NOT_DELETE_DEPT_USER);
  68. }
  69. LambdaQueryWrapper<Shop> shopWrapper = new LambdaQueryWrapper<>();
  70. shopWrapper.eq(Shop::getDeptId,dept.getId());
  71. long shopCount = shopService.count(shopWrapper);
  72. if(shopCount > 0){
  73. throw new BusinessException(ResultCode.NOT_DELETE_DEPT_SHOP);
  74. }
  75. Dept byId = deptService.getById(dept.getId());
  76. if(byId !=null){
  77. deptService.removeById(dept.getId());
  78. String info = String.format(LogInfoKey.baseInfo,"删除",byId.getDeptName(),"组织架构");
  79. logService.addLog("组织架构",info,getIp(),getToken());
  80. }
  81. return ResultData.ok();
  82. }
  83. @PostMapping("/allList")
  84. public ResultData list(){
  85. return ResultData.ok(deptService.getDeptList(null));
  86. }
  87. }