Parcourir la source

组织机构模块相关接口

ZhangManMan il y a 2 ans
Parent
commit
ba1f0ab670

+ 42 - 5
src/main/java/com/sky/ioc/controller/organzation/CompanyController.java

@@ -1,10 +1,9 @@
 package com.sky.ioc.controller.organzation;
 
+import com.sky.ioc.entity.domain.organization.Company;
 import com.sky.ioc.service.organization.CompanyService;
 import com.sky.ioc.tool.ReturnMsg;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,15 +12,53 @@ import org.springframework.web.bind.annotation.*;
 @Api(tags = "组织管理--公司")
 @Slf4j
 @RestController
-@RequestMapping("/organzation/company")
+@RequestMapping("/organzation")
 public class CompanyController {
 
     @Autowired
     CompanyService companyService;
 
     @ApiOperation("获取公司详情")
-    @GetMapping(value = "/{company_id}")
-    public ReturnMsg getCompany(@PathVariable Integer company_id) {
+    @GetMapping(value = "/company")
+    public ReturnMsg getCompany(@RequestParam(name = "company_id") Integer company_id) {
         return companyService.getCompany(company_id);
     }
+
+    @ApiOperation("获取所有公司列表")
+    @GetMapping(value = "/all_company")
+    public ReturnMsg getAllCompany() {
+        return companyService.getAllCompany();
+    }
+
+    @ApiOperation("获取公司列表")
+    @GetMapping(value = "/company_list")
+    public ReturnMsg getCompanyList(@RequestParam(name = "page",defaultValue = "1") Integer page,
+                                    @RequestParam(name = "page_size",defaultValue = "20") Integer page_size) {
+        return companyService.getAllCompany(page,page_size);
+    }
+
+    @ApiOperation("公司查询")
+    @GetMapping(value = "/company_search")
+    public ReturnMsg searchCompanyList(@RequestParam(name = "name")String name) {
+        return companyService.searchCompany(name);
+    }
+
+    @ApiOperation("添加公司")
+    @PostMapping(value = "/company")
+    public ReturnMsg addCompany(Company company) {
+        return companyService.addCompany(company);
+    }
+
+    @ApiOperation("更新公司")
+    @PutMapping(value = "/company")
+    public ReturnMsg editCompany(Company company) {
+        return companyService.editCompany(company);
+    }
+
+    @ApiOperation("删除公司")
+    @DeleteMapping(value = "/company")
+    public ReturnMsg delCompany(@RequestParam(name = "company_id") Integer company_id) {
+        return companyService.deleteCompany(company_id);
+    }
+
 }

+ 51 - 0
src/main/java/com/sky/ioc/controller/organzation/DepartmentController.java

@@ -0,0 +1,51 @@
+package com.sky.ioc.controller.organzation;
+
+import com.sky.ioc.entity.domain.organization.Company;
+import com.sky.ioc.entity.domain.organization.Department;
+import com.sky.ioc.service.organization.DepartmentService;
+import com.sky.ioc.tool.ReturnMsg;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "组织管理--部门")
+@Slf4j
+@RestController
+@RequestMapping("/organzation")
+public class DepartmentController {
+
+    @Autowired
+    DepartmentService departmentService;
+
+    @ApiOperation("获取部门详情")
+    @GetMapping(value = "/department")
+    public ReturnMsg getDepartment(@RequestParam(name = "department_id")Integer department_id) {
+        return departmentService.getDepartment(department_id);
+    }
+
+    @ApiOperation("获取公司下部门列表")
+    @GetMapping(value = "/department_list")
+    public ReturnMsg getDepartmentList(@RequestParam(name = "company_id")Integer company_id) {
+        return departmentService.getDepartmentList(company_id);
+    }
+
+    @ApiOperation("添加部门")
+    @PostMapping(value = "/department")
+    public ReturnMsg addDepartment(Department department) {
+        return departmentService.addDepartment(department);
+    }
+
+    @ApiOperation("更新部门")
+    @PutMapping(value = "/department")
+    public ReturnMsg editDepartment(Department department) {
+        return departmentService.editDepartment(department);
+    }
+
+    @ApiOperation("删除部门")
+    @DeleteMapping(value = "/department")
+    public ReturnMsg delDepartment(@RequestParam(name = "department_id") Integer department_id) {
+        return departmentService.deleteDepartment(department_id);
+    }
+}

+ 13 - 0
src/main/java/com/sky/ioc/service/organization/CompanyService.java

@@ -1,8 +1,21 @@
 package com.sky.ioc.service.organization;
 
+import com.sky.ioc.entity.domain.organization.Company;
 import com.sky.ioc.tool.ReturnMsg;
 
 public interface CompanyService {
 
     ReturnMsg getCompany(Integer companyId);
+
+    ReturnMsg getAllCompany();
+
+    ReturnMsg getAllCompany(int page,int page_size);
+
+    ReturnMsg searchCompany(String name);
+
+    ReturnMsg deleteCompany(Integer companyId);
+
+    ReturnMsg addCompany(Company company);
+    ReturnMsg editCompany(Company company);
+
 }

+ 12 - 0
src/main/java/com/sky/ioc/service/organization/DepartmentService.java

@@ -1,4 +1,16 @@
 package com.sky.ioc.service.organization;
 
+import com.sky.ioc.entity.domain.organization.Department;
+import com.sky.ioc.tool.ReturnMsg;
+
 public interface DepartmentService {
+
+    ReturnMsg getDepartment(Integer departmentId);
+
+    ReturnMsg getDepartmentList(Integer companyId);
+
+    ReturnMsg addDepartment(Department department);
+    ReturnMsg editDepartment(Department department);
+
+    ReturnMsg deleteDepartment(Integer departmentId);
 }

+ 68 - 0
src/main/java/com/sky/ioc/service/organization/impl/CompanyServiceImpl.java

@@ -1,18 +1,86 @@
 package com.sky.ioc.service.organization.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.sky.ioc.entity.domain.organization.Company;
+import com.sky.ioc.entity.domain.organization.Department;
 import com.sky.ioc.mapper.organization.CompanyMapper;
+import com.sky.ioc.mapper.organization.DepartmentMapper;
 import com.sky.ioc.service.organization.CompanyService;
+import com.sky.ioc.service.organization.DepartmentService;
 import com.sky.ioc.tool.ReturnMsg;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 public class CompanyServiceImpl implements CompanyService {
 
     @Autowired
     CompanyMapper companyMapper;
+    @Autowired
+    DepartmentMapper departmentMapper;
     @Override
     public ReturnMsg getCompany(Integer companyId) {
         return  ReturnMsg.ok(companyMapper.selectById(companyId));
     }
+
+    @Override
+    public ReturnMsg getAllCompany() {
+        return ReturnMsg.ok(companyMapper.selectList(null));
+    }
+
+    @Override
+    public ReturnMsg getAllCompany(int page, int page_size) {
+        PageHelper.startPage(page,page_size);
+        List<Company> companyList = companyMapper.selectList(null);
+        return ReturnMsg.ok(new PageInfo<>(companyList));
+    }
+
+    @Override
+    public ReturnMsg searchCompany(String name) {
+        List<Company> companyList = companyMapper.selectList(null);
+        if(StringUtils.isNotBlank(name)){
+            name = "%"+name+"%";
+           companyList = companyMapper.selectList(new LambdaQueryWrapper<Company>().like(Company::getCompany_name,name));
+        }
+        return ReturnMsg.ok(companyList);
+    }
+
+    @Override
+    public ReturnMsg deleteCompany(Integer companyId) {
+        //删除公司
+        companyMapper.deleteById(companyId);
+        //删除部门
+        departmentMapper.delete(new LambdaQueryWrapper<Department>().eq(Department::getCompany_id,companyId));
+        return ReturnMsg.ok();
+    }
+
+    @Override
+    public ReturnMsg addCompany(Company company) {
+        //检查是否重名
+        Company old = companyMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getCompany_name,company.getCompany_name()));
+        //添加
+        if(old!=null){
+            return ReturnMsg.fail("公司名称已存在");
+        }else{
+            companyMapper.insert(company);
+            return ReturnMsg.ok();
+        }
+
+    }
+
+    @Override
+    public ReturnMsg editCompany(Company company) {
+        if(StringUtils.isNotBlank(company.getCompany_name())){
+            return ReturnMsg.ok(companyMapper.updateById(company));
+        }else {
+            return ReturnMsg.fail("公司名称不能为空");
+        }
+
+    }
+
 }

+ 45 - 0
src/main/java/com/sky/ioc/service/organization/impl/DepartmentServiceImpl.java

@@ -1,8 +1,53 @@
 package com.sky.ioc.service.organization.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.sky.ioc.entity.domain.organization.Department;
+import com.sky.ioc.mapper.organization.DepartmentMapper;
 import com.sky.ioc.service.organization.DepartmentService;
+import com.sky.ioc.tool.ReturnMsg;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 public class DepartmentServiceImpl implements DepartmentService {
+
+    @Autowired
+    DepartmentMapper departmentMapper;
+
+    @Override
+    public ReturnMsg getDepartment(Integer departmentId) {
+        return ReturnMsg.ok(departmentMapper.selectById(departmentId));
+    }
+
+    @Override
+    public ReturnMsg getDepartmentList(Integer companyId) {
+       List<Department> lists = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getCompany_id,companyId));
+        return ReturnMsg.ok(lists);
+    }
+
+    @Override
+    public ReturnMsg addDepartment(Department department) {
+        if(StringUtils.isNotBlank(department.getName())&&department.getCompany_id()!=null){
+            return ReturnMsg.ok(departmentMapper.insert(department));
+        }else{
+            return ReturnMsg.fail("上级公司和部门名称不能为空");
+        }
+    }
+
+    @Override
+    public ReturnMsg editDepartment(Department department) {
+        if(StringUtils.isNotBlank(department.getName())&&department.getCompany_id()!=null){
+            return ReturnMsg.ok(departmentMapper.updateById(department));
+        }else{
+            return ReturnMsg.fail("上级公司和部门名称不能为空");
+        }
+    }
+
+    @Override
+    public ReturnMsg deleteDepartment(Integer departmentId) {
+        return ReturnMsg.ok(departmentMapper.deleteById(departmentId));
+    }
 }