| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305 |
- package com.ydtech.modules.admin.controller;
- import cn.hutool.core.collection.CollUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.ydtech.config.MasterPasswordConfig;
- import com.ydtech.constants.sys.SysPasswordEnum;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.core.page.PageRequest;
- import com.ydtech.modules.admin.model.SysDept;
- import com.ydtech.modules.admin.model.SysPassword;
- import com.ydtech.modules.admin.model.SysUser;
- import com.ydtech.modules.admin.model.vo.*;
- import com.ydtech.modules.admin.service.SysDeptService;
- import com.ydtech.modules.admin.service.SysPasswordService;
- import com.ydtech.modules.admin.utils.KztGetDeptUtils;
- import com.ydtech.modules.base.controller.BaseController;
- import com.ydtech.security.utils.PasswordUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.ObjectUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletRequest;
- import java.util.ArrayList;
- import java.util.List;
- @Api(tags = "机构管理", value = "机构管理")
- @RestController
- @RequestMapping("/dept")
- @RequiredArgsConstructor
- @Slf4j
- public class SysDeptController extends BaseController {
- Logger logger = LoggerFactory.getLogger(getClass());
- private final SysDeptService sysDeptService;
- private final SysPasswordService sysPasswordService;
- private final MasterPasswordConfig masterPasswordConfig;
- // @PreAuthorize("hasAuthority('sys:dept:add')")
- @PostMapping(value = "/add")
- @ApiOperation("增加机构")
- public HttpResult<Boolean> add(@RequestBody SysDeptVo sysDeptVo) {
- sysDeptService.addDept(sysDeptVo);
- return HttpResult.ok();
- }
- @PostMapping(value = "/deleteDept")
- @ApiOperation("删除机构")
- public HttpResult<Object> delete(@RequestBody SysDeptRemoveVo sysDeptRemoveVo) {
- if (sysDeptRemoveVo.getPassword() == null) {
- return HttpResult.error("输入的密码不能为空");
- }
- SysPassword sysPassword = sysPasswordService.getOne(new LambdaQueryWrapper<SysPassword>().eq(SysPassword::getCode, SysPasswordEnum.DEPT.getCode()));
- // 判断机构删除密码是否为空
- if (PasswordUtils.matches(sysPassword.getSalt(), sysDeptRemoveVo.getPassword(), sysPassword.getPassword())) {
- sysDeptService.deleteDept(sysDeptRemoveVo);
- return HttpResult.ok();
- }
- return HttpResult.error("密码错误");
- }
- //@PreAuthorize("hasAuthority('sys:dept:view')")
- @ApiOperation(value = "获取树结构")
- @GetMapping(value = "/findTree")
- public HttpResult<List<SysDept>> findTree(String deptId,String managementSource) {
- BaseController baseController = new BaseController();
- // String deptId = baseController.getDeptId();
- LambdaQueryWrapper<SysDept> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(SysDept::getDelFlag, 0).eq(SysDept::getId, deptId);
- SysDept one = sysDeptService.getOne(queryWrapper);
- // String managementSource = one.getManagementSource();
- return HttpResult.ok(sysDeptService.findTree(deptId,managementSource));
- }
- @PostMapping("/queryTreeList")
- @ApiOperation(value = "查询机构树列表")
- public HttpResult<List<SysDept>> queryTreeList(@RequestBody SysDeptListVo sysDeptListVo) {
- List<SysDept> deptAll = new ArrayList<>();
- if(!StringUtils.isBlank(sysDeptListVo.getId()) || !StringUtils.isBlank(sysDeptListVo.getName())) {
- LambdaQueryWrapper<SysDept> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(SysDept::getDelFlag, 0)
- .eq(!StringUtils.isBlank(sysDeptListVo.getId()),SysDept::getId, sysDeptListVo.getId())
- .like(!StringUtils.isBlank(sysDeptListVo.getName()),SysDept::getName, sysDeptListVo.getName())
- .eq(!StringUtils.isBlank(sysDeptListVo.getName()),SysDept::getComlevel, "5");
- List<SysDept> depts = sysDeptService.list(queryWrapper);
- for (SysDept dept : depts) {
- List<SysDept> list = sysDeptService.findTree(dept.getId(),null);
- deptAll.addAll(list);
- }
- }else{
- List<SysDept> list = sysDeptService.findTree(null,null);
- deptAll.addAll(list);
- }
- // 递归组装前端需要的数据
- for (SysDept sysDept : deptAll) {
- sysDept.setName(sysDept.getName() + "--" + sysDept.getId());
- showEdit(sysDept);
- }
- return HttpResult.ok(deptAll);
- }
- public void showEdit(SysDept sysDept) {
- if (ObjectUtils.isNotEmpty(sysDept.getChildren())) {
- List<SysDept> childrenList = sysDept.getChildren();
- if (CollUtil.isNotEmpty(childrenList)){
- for (SysDept dept : childrenList) {
- dept.setName(dept.getName() + "--" + dept.getId());
- showEdit(dept);
- }
- }
- }
- }
- // @PreAuthorize("hasAuthority('sys:dept:edit')")
- @PostMapping(value = "/edit")
- public HttpResult edit(@RequestBody SysDept record) {
- SysDept byId = sysDeptService.getById(record.getId());
- if (record.getManagementSource() != null){
- if (!record.getManagementSource().equals(byId.getManagementSource())) {
- return HttpResult.error("机构已被设置来源无法修改");
- }
- }
- sysDeptService.updateDept(record);
- return HttpResult.ok();
- }
- // @PreAuthorize("hasAuthority('sys:dept:delete')")
- @PostMapping(value = "/delete")
- public HttpResult delete(@RequestBody List<SysDept> records) {
- System.out.println("" + records);
- return HttpResult.ok(sysDeptService.removeByIds(records));
- }
- //// @PreAuthorize("hasAuthority('sys:dept:view')")
- @PostMapping(value = "/findSubDept")
- public HttpResult findSubDept(@RequestBody PageRequest pageRequest) {
- return HttpResult.ok(sysDeptService.findSubDepts(pageRequest));
- }
- //// @PreAuthorize("hasAuthority('sys:dept:view')")
- @GetMapping(value = "/findMaxDeptId")
- public HttpResult findMaxDeptId(String deptId) {
- int i = 100;
- Object maxDeptId = new Object();
- maxDeptId = sysDeptService.findMaxDeptId(deptId);
- return HttpResult.ok(maxDeptId);
- }
- //// @PreAuthorize("hasAuthority('sys:dept:view')")
- @GetMapping(value = "/findMaxHouseId")
- public HttpResult findMaxHouseId(String deptId) {
- int i = 100;
- Object maxDeptId = new Object();
- maxDeptId = sysDeptService.findMaxHouseId(deptId);
- return HttpResult.ok(maxDeptId);
- }
- // // @PreAuthorize("hasAuthority('sys:dept:view')")
- @GetMapping(value = "/getDeptById")
- public HttpResult getDeptById(String id) {
- SysDept sysDept = sysDeptService.getById(id);
- logger.info(sysDept.toString());
- return HttpResult.ok(sysDept);
- }
- @ApiOperation(value = "获取机构树(不包含团队 dept_type=C)")
- @GetMapping(value = "/findCompanyTree")
- public HttpResult<List<SysDept>> findCompanyTree() {
- SysUser user = getUser();
- String deptId = user.getDeptId();
- return HttpResult.ok(sysDeptService.findCompanyTree(deptId));
- }
- @ApiOperation(value = "根据传入机构,查询归属所有团队")
- @GetMapping(value = "/findTeamList")
- public HttpResult findTeamList(String deptId) {
- return HttpResult.ok(sysDeptService.findTeamList(deptId));
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/4/23 14:59
- * @Description: 获取所有的树结构
- */
- @ApiOperation(value = "获取所有的树结构")
- @GetMapping(value = "/findAllTree")
- public HttpResult<List<SysDept>> findAllTree(String deptId) {
- if(deptId==null || "".equals(deptId)){
- deptId="9";
- }else{
- //如果是平台下判断包含D的查询上级id
- if(deptId.contains("D")){
- SysDept dept = sysDeptService.getById(deptId);
- deptId =dept==null?"":dept.getParentId();
- }
- }
- LambdaQueryWrapper<SysDept> queryWrapper = new LambdaQueryWrapper<>();
- queryWrapper.eq(SysDept::getDelFlag, 0);
- return HttpResult.ok(sysDeptService.findTree(deptId,null));
- }
- @ApiOperation(value = "省市区门店列表查询 省级parentId=99 市县传值上级id,level传值省市县门店1,2,3,4")
- @GetMapping(value = "/queryListByParentId/{level}/{parentId}")
- public HttpResult<List<SysDept>> queryListByParentId(@PathVariable("level") String level, @PathVariable("parentId") String parentId) {
- if(parentId==null || "".equals(parentId)) {
- return HttpResult.error("parentId父级id不能为空");
- }
- if(level==null || "".equals(level)) {
- return HttpResult.error("level类型不能为空");
- }
- List<SysDept> sysDeptList = sysDeptService.queryListByParentId(level,parentId);
- return HttpResult.ok(sysDeptList);
- }
- /**
- * 工作室管理机构树
- * @return
- */
- @ApiOperation(value = "工作室管理机构树")
- @GetMapping(value = "/getSysDeptTree")
- public HttpResult<List<SysDeptTreeVo>> getSysDeptTree() {
- return HttpResult.ok(sysDeptService.getSysDeptTree());
- }
- /**
- * 合伙人管理机构树
- * @return
- */
- @ApiOperation(value = "合伙人管理机构树")
- @GetMapping(value = "/getPartnerDeptTree")
- public HttpResult<List<SysDeptTreeVo>> getPartnerDeptTree() {
- return HttpResult.ok(sysDeptService.getPartnerDeptTree());
- }
- /**
- * 数据权限机构数
- * @return
- */
- @ApiOperation(value = "数据权限机构数")
- @GetMapping(value = "/getDataDeptTree")
- public HttpResult<List<SysDept>> getDataDeptTree(HttpServletRequest httpServerRequest) {
- List<String> deptIds = new ArrayList<>();
- KztGetDeptUtils kztGetDeptUtils = new KztGetDeptUtils();
- KztGetDeptUtilsDto kztGetDeptUtilsDto = kztGetDeptUtils.KztGetDeptIds(httpServerRequest.getRequestURL().toString());
- if(ObjectUtils.isNotEmpty(kztGetDeptUtilsDto)){
- if("1".equals(kztGetDeptUtilsDto.getType())){
- deptIds = kztGetDeptUtilsDto.getIds();
- }
- }
- return HttpResult.ok(sysDeptService.getDataDeptTree(deptIds));
- }
- /**
- * 控制台用户数机构数
- * @return
- */
- @ApiOperation(value = "控制台用户数机构数")
- @PostMapping(value = "/getUserDeptTree")
- public HttpResult<KztUserDeptTreeDto> getUserDeptTree(@RequestBody SysDeptVo sysDeptVo) {
- return HttpResult.ok(sysDeptService.getUserDeptTree(sysDeptVo));
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/9/26 18:08
- * @Description: 查询机构下的负责人
- */
- @GetMapping(value = "/getLeadListDeptId")
- public HttpResult getLeadListDeptId(String deptId) {
- List<SysUser> userList= sysDeptService.getLeadListDeptId(deptId);
- return HttpResult.ok(userList);
- }
- /**
- * @version
- * @author: hxl
- * @Date: 2024/9/26 18:08
- * @Description: 查询机构下的负责人
- */
- @PostMapping(value = "/saveLeadId")
- public HttpResult saveLeadId(@RequestBody DeptLeadVo deptLeadVo) {
- try{
- sysDeptService.saveLeadId(deptLeadVo);
- }catch(Exception e){
- return HttpResult.error("设置失败");
- }
- return HttpResult.ok();
- }
- }
|