From f237a61c412870933f47316a011237cd538de9bc Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 20 八月 2024 09:07:02 +0800
Subject: [PATCH] 新增需求

---
 guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/SysDeptController.java |   94 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 80 insertions(+), 14 deletions(-)

diff --git a/guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/SysDeptController.java b/guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/SysDeptController.java
index 18521ac..a2a1311 100644
--- a/guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/SysDeptController.java
+++ b/guns-management/src/main/java/com/stylefeng/guns/modular/code/controller/SysDeptController.java
@@ -1,21 +1,33 @@
 package com.stylefeng.guns.modular.code.controller;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.stylefeng.guns.core.common.annotion.BussinessLog;
 import com.stylefeng.guns.core.common.constant.dictmap.DeptDict;
 import com.stylefeng.guns.core.common.exception.BizExceptionEnum;
 import com.stylefeng.guns.core.exception.GunsException;
 import com.stylefeng.guns.core.mutidatasource.annotion.DataSource;
+import com.stylefeng.guns.core.node.ZTreeNode;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.system.dto.DeptQuery;
 import com.stylefeng.guns.modular.system.model.Dept;
+import com.stylefeng.guns.modular.system.model.User;
 import com.stylefeng.guns.modular.system.service.IDeptService;
+import com.stylefeng.guns.modular.system.service.IUserService;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
-import com.stylefeng.guns.modular.system.warpper.DeptWarpper;
+import com.stylefeng.guns.modular.system.vo.DeptVO;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.ui.Model;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
 
-import javax.xml.transform.Result;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -28,28 +40,82 @@
 
 
     @DataSource(name = "dataSourceBiz")
-    @RequestMapping(value = "/list")
+    @GetMapping(value = "/list")
+    @ApiOperation(value = "列表", tags = {"后台-部门管理"})
     @ResponseBody
-    public Object list(String condition) {
-        List<Map<String, Object>> list = this.deptService.list(condition);
-        return list;
+    public ResultUtil<PageInfo<Dept>> getList(DeptQuery req) {
+//        PageHelper.startPage(req.getPageNum(),req.getPageSize());
+        List<Dept> depts = deptService.getList(req);
+        PageInfo<Dept> info=new PageInfo<>(depts);
+        return ResultUtil.success(info);
     }
 
     @DataSource(name = "dataSourceGuns")
-    @BussinessLog(value = "添加部门", key = "simplename", dict = DeptDict.class)
-    @RequestMapping(value = "/add")
+    @ApiOperation(value = "添加部门", tags = {"后台-部门管理"})
+    @PostMapping(value = "/add")
     @ResponseBody
+
     public ResultUtil add(Dept dept) {
-        if (ToolUtil.isOneEmpty(dept, dept.getSimplename())) {
-            throw new GunsException(BizExceptionEnum.REQUEST_NULL);
-        }
         //完善pids,根据pid拿到pid的pids
+        dept.setPid(0);
         deptSetPids(dept);
+        dept.setInsertTime(new Date());
+        dept.setSimplename(dept.getFullname());
         this.deptService.insert(dept);
         return ResultUtil.success("添加成功");
-
     }
 
+    @DataSource(name = "dataSourceBiz")
+    @GetMapping(value = "/tree")
+    @ApiOperation(value = "获取部下拉框", tags = {"后台-部门管理"})
+    @ResponseBody
+    public List<Dept> tree() {
+        List<ZTreeNode> tree = this.deptService.tree();
+        tree.add(ZTreeNode.createParent());
+    return     deptService.selectList(null);
+//        return tree;
+    }
+    @Autowired
+    private IUserService userService;
+    @DeleteMapping ("/delete")
+    @ResponseBody
+    @ApiOperation(value = "删除部门", tags = {"后台-部门管理"})
+    public ResultUtil delete(String ids) {
+        String[] split = ids.split(",");
+        for (String id : split) {
+            List<User> users = userService.selectList(new EntityWrapper<User>().eq("deptid",Integer.valueOf(id)));
+            if (!users.isEmpty()){
+                return ResultUtil.error("当前部门已绑定用户,无法删除");
+            }
+            deptService.deleteById(Integer.valueOf(id));
+        }
+       return ResultUtil.success("删除成功");
+    }
+
+    @GetMapping ("pre/edit/{deptId}")
+    public Dept deptUpdate(@PathVariable Integer deptId, Model model) {
+        Dept dept = deptService.selectById(deptId);
+        return dept;
+    }
+
+
+    @DataSource(name = "dataSourceGuns")
+    @ApiOperation(value = "修改部门", tags = {"后台-部门管理"})
+    @PutMapping (value = "/update")
+    @ResponseBody
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "部门id", name = "id"),
+            @ApiImplicitParam(value = "部门名称", name = "fullname"),
+    })
+    public ResultUtil update(Integer id,String fullname ) {
+        Dept dept1 = deptService.selectById(id);
+        dept1.setFullname(fullname);
+        dept1.setSimplename(fullname);
+        deptService.updateById(dept1);
+        return ResultUtil.success("修改成功");
+    }
+
+
     private void deptSetPids(Dept dept) {
         if (ToolUtil.isEmpty(dept.getPid()) || dept.getPid().equals(0)) {
             dept.setPid(0);

--
Gitblit v1.7.1