SysDeptController.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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 com.cdf.util.JwtUtil;
  19. import org.springframework.beans.BeanUtils;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import org.springframework.web.bind.annotation.PostMapping;
  22. import org.springframework.web.bind.annotation.RequestBody;
  23. import org.springframework.web.bind.annotation.RequestMapping;
  24. import org.springframework.web.bind.annotation.RestController;
  25. import javax.xml.transform.Result;
  26. import java.util.ArrayList;
  27. import java.util.Arrays;
  28. import java.util.List;
  29. @RestController
  30. @RequestMapping("/back/dept")
  31. public class SysDeptController extends BaseLogController{
  32. @Autowired
  33. private IDeptService deptService;
  34. @Autowired
  35. private IUserService userService;
  36. @Autowired
  37. private IShopService shopService;
  38. @Autowired
  39. private ILogService logService;
  40. @PostMapping("/saveOrUpdate")
  41. public ResultData saveOrUpdate(@RequestBody Dept dept){
  42. if(dept.getId()!=null && dept.getId().equals(dept.getParentId())){
  43. throw new BusinessException(ResultCode.ERROR);
  44. }
  45. String info = null;
  46. if(dept.getId()== null){
  47. info = String.format(LogInfoKey.baseInfo,"新增",dept.getDeptName(),"组织架构");
  48. }else {
  49. info = String.format(LogInfoKey.baseInfo,"编辑",dept.getDeptName(),"组织架构");
  50. dept.setCreateTime(null);
  51. dept.setUpdateTime(null);
  52. }
  53. logService.addLog("组织架构",info,getIp(),getToken());
  54. deptService.saveOrUpdate(dept);
  55. return ResultData.ok(dept);
  56. }
  57. @PostMapping("/delete")
  58. public ResultData delete(@RequestBody Dept param){
  59. Dept dept = deptService.getById(param.getId());
  60. if(dept == null ){
  61. throw new BusinessException(ResultCode.NOT_RECORD);
  62. }
  63. if(dept.getParentId() ==null || dept.getId() ==22 || dept.getId() == 33){
  64. throw new BusinessException(ResultCode.NOT_DELETE_PARENT_DEPT);
  65. }
  66. LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
  67. queryWrapper.eq(User::getDeptId,dept.getId());
  68. long count = userService.count(queryWrapper);
  69. if(count > 0){
  70. throw new BusinessException(ResultCode.NOT_DELETE_DEPT_USER);
  71. }
  72. LambdaQueryWrapper<Shop> shopWrapper = new LambdaQueryWrapper<>();
  73. shopWrapper.eq(Shop::getDeptId,dept.getId());
  74. long shopCount = shopService.count(shopWrapper);
  75. if(shopCount > 0){
  76. throw new BusinessException(ResultCode.NOT_DELETE_DEPT_SHOP);
  77. }
  78. Dept byId = deptService.getById(dept.getId());
  79. if(byId !=null){
  80. deptService.removeById(dept.getId());
  81. String info = String.format(LogInfoKey.baseInfo,"删除",byId.getDeptName(),"组织架构");
  82. logService.addLog("组织架构",info,getIp(),getToken());
  83. }
  84. return ResultData.ok();
  85. }
  86. @PostMapping("/allList")
  87. @SysLog(logType = "组织架构",value = "查看组织架构")
  88. public ResultData list(){
  89. Integer id = JwtUtil.getId(getToken());
  90. User user = userService.getById(id);
  91. if(user == null){
  92. return ResultData.ok(new ArrayList<>());
  93. }
  94. Dept dept = deptService.getById(user.getDeptId());
  95. if(dept == null){
  96. return ResultData.ok(new ArrayList<>());
  97. }
  98. DeptVo vo = new DeptVo();
  99. BeanUtils.copyProperties(dept,vo);
  100. vo.setChildren(deptService.getDeptList(user.getDeptId()));
  101. return ResultData.ok(Arrays.asList(vo));
  102. }
  103. }