From 303e1c9aad427e00971187cbc4a621fd3a9105fe Mon Sep 17 00:00:00 2001 From: panbaolin <13071138970@163.com> Date: Tue, 12 Aug 2025 19:33:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E4=BC=81=E4=B8=9A=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1/=E9=92=89=E9=92=89=E5=AF=B9=E6=8E=A5=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E3=80=81=E5=8E=BB=E9=99=A4=E8=81=8C=E4=BD=8D=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8F=8A=E7=94=A8=E6=88=B7=E8=81=8C=E4=BD=8D=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jeecg/common/system/api/ISysBaseAPI.java | 7 - jeecg-module-system/jeecg-system-biz/pom.xml | 6 - .../api/controller/SystemApiController.java | 11 - .../controller/SysAnnouncementController.java | 4 - .../controller/SysPositionController.java | 401 ------------------ .../system/controller/SysUserController.java | 28 -- .../modules/system/entity/SysPosition.java | 91 ---- .../jeecg/modules/system/entity/SysUser.java | 8 - .../system/entity/SysUserPosition.java | 53 --- .../system/mapper/SysPositionMapper.java | 40 -- .../system/mapper/SysUserPositionMapper.java | 86 ---- .../system/mapper/xml/SysPositionMapper.xml | 22 - .../mapper/xml/SysUserPositionMapper.xml | 68 --- .../system/model/SysUserSysDepartModel.java | 1 - .../system/service/IAuthUserService.java | 21 - .../system/service/ISysPositionService.java | 36 -- .../service/ISysUserPositionService.java | 43 -- .../system/service/IThirdAppService.java | 89 ---- .../service/impl/AuthUserServiceImpl.java | 192 --------- .../system/service/impl/SysBaseApiImpl.java | 10 - .../service/impl/SysPositionServiceImpl.java | 43 -- .../impl/SysUserPositionServiceImpl.java | 84 ---- .../system/vo/lowapp/AppExportUserVo.java | 4 - .../vo/thirdapp/JdtDepartmentTreeVo.java | 89 ---- .../vo/thirdapp/JwDepartmentTreeVo.java | 89 ---- .../system/vo/thirdapp/JwSysUserDepartVo.java | 23 - .../system/vo/thirdapp/JwUserDepartVo.java | 48 --- .../system/vo/thirdapp/SyncInfoVo.java | 44 -- 28 files changed, 1641 deletions(-) delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysPosition.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUserPosition.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysPositionMapper.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserPositionMapper.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysPositionMapper.xml delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserPositionMapper.xml delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysPositionService.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserPositionService.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IThirdAppService.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPositionServiceImpl.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserPositionServiceImpl.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JdtDepartmentTreeVo.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwDepartmentTreeVo.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwSysUserDepartVo.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwUserDepartVo.java delete mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/SyncInfoVo.java diff --git a/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java b/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java index 2a70506..eb6ac76 100644 --- a/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java +++ b/jeecg-module-system/jeecg-system-api/jeecg-system-local-api/src/main/java/org/jeecg/common/system/api/ISysBaseAPI.java @@ -503,13 +503,6 @@ public interface ISysBaseAPI extends CommonAPI { */ List queryUserIdsByRoleds(List roleCodes); - /** - * 根据职务ID查询用户ID - * @param positionIds - * @return - */ - List queryUserIdsByPositionIds(List positionIds); - /** * 根据部门和子部门下的所有用户账号 * diff --git a/jeecg-module-system/jeecg-system-biz/pom.xml b/jeecg-module-system/jeecg-system-biz/pom.xml index 7fdc2a4..99d207f 100644 --- a/jeecg-module-system/jeecg-system-biz/pom.xml +++ b/jeecg-module-system/jeecg-system-biz/pom.xml @@ -24,12 +24,6 @@ org.jeecgframework.boot3 hibernate-re - - - - org.jeecgframework - weixin4j - diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java index b9ba3d6..aea465d 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/api/controller/SystemApiController.java @@ -918,17 +918,6 @@ public class SystemApiController { return sysBaseApi.queryUserIdsByRoleds(roleCodes); } - /** - * 根据职务ID查询用户ID - * @param positionIds - * @return - */ - @GetMapping("/queryUserIdsByPositionIds") - public List queryUserIdsByPositionIds(@RequestParam("positionIds") List positionIds){ - return sysBaseApi.queryUserIdsByPositionIds(positionIds); - } - - /** * 根据部门和子部门下的所有用户账号 * diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java index 7356cf1..55c1011 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysAnnouncementController.java @@ -1,13 +1,10 @@ package org.jeecg.modules.system.controller; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.jeecg.dingtalk.api.core.response.Response; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; @@ -39,7 +36,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.http.HttpStatus; -import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java deleted file mode 100644 index 15fc71c..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java +++ /dev/null @@ -1,401 +0,0 @@ -package org.jeecg.modules.system.controller; - -import cn.hutool.core.util.RandomUtil; -import com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.extern.slf4j.Slf4j; -import org.jeecg.common.api.vo.Result; -import org.jeecg.common.aspect.annotation.AutoLog; -import org.jeecg.common.config.TenantContext; -import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.system.vo.LoginUser; -import org.jeecg.common.util.ImportExcelUtil; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.config.mybatis.MybatisPlusSaasConfig; -import org.jeecg.config.security.utils.SecureUtil; -import org.jeecg.modules.system.entity.SysPosition; -import org.jeecg.modules.system.entity.SysUser; -import org.jeecg.modules.system.service.IAuthUserService; -import org.jeecg.modules.system.service.ISysPositionService; -import org.jeecg.modules.system.service.ISysUserPositionService; -import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.context.SecurityContextHolder; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; - -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -/** - * @Description: 职务表 - * @Author: jeecg-boot - * @Date: 2019-09-19 - * @Version: V1.0 - */ -@Slf4j -@Tag(name = "职务表") -@RestController -@RequestMapping("/sys/position") -public class SysPositionController { - - @Autowired - private ISysPositionService sysPositionService; - - @Autowired - private ISysUserPositionService userPositionService; - - @Autowired - private IAuthUserService authUserService; - - /** - * 分页列表查询 - * - * @param sysPosition - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @AutoLog(value = "职务表-分页列表查询") - @Operation(summary = "职务表-分页列表查询") - @GetMapping(value = "/list") - public Result> queryPageList(SysPosition sysPosition, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - Result> result = new Result>(); - //------------------------------------------------------------------------------------------------ - //是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】 - if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL){ - sysPosition.setTenantId(oConvertUtils.getInt(TenantContext.getTenant(),0)); - } - //------------------------------------------------------------------------------------------------ - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysPosition, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = sysPositionService.page(page, queryWrapper); - result.setSuccess(true); - result.setResult(pageList); - return result; - } - - /** - * 添加 - * - * @param sysPosition - * @return - */ - @AutoLog(value = "职务表-添加") - @Operation(summary = "职务表-添加") - @PostMapping(value = "/add") - public Result add(@RequestBody SysPosition sysPosition) { - Result result = new Result(); - try { - //update-begin---author:wangshuai ---date:20230313 for:【QQYUN-4558】vue3职位功能调整,去掉编码和级别,可以先隐藏------------ - //编号是空的,不需要判断多租户隔离了 - if(oConvertUtils.isEmpty(sysPosition.getCode())){ - //生成职位编码10位 - sysPosition.setCode(RandomUtil.randomString(10)); - } - //update-end---author:wangshuai ---date:20230313 for:【QQYUN-4558】vue3职位功能调整,去掉编码和级别,可以先隐藏------------- - sysPositionService.save(sysPosition); - result.success("添加成功!"); - } catch (Exception e) { - log.error(e.getMessage(), e); - result.error500("操作失败"); - } - return result; - } - - /** - * 编辑 - * - * @param sysPosition - * @return - */ - @AutoLog(value = "职务表-编辑") - @Operation(summary = "职务表-编辑") - @RequestMapping(value = "/edit", method ={RequestMethod.PUT, RequestMethod.POST}) - public Result edit(@RequestBody SysPosition sysPosition) { - Result result = new Result(); - SysPosition sysPositionEntity = sysPositionService.getById(sysPosition.getId()); - if (sysPositionEntity == null) { - result.error500("未找到对应实体"); - } else { - boolean ok = sysPositionService.updateById(sysPosition); - //TODO 返回false说明什么? - if (ok) { - result.success("修改成功!"); - } - } - - return result; - } - - /** - * 通过id删除 - * - * @param id - * @return - */ - @AutoLog(value = "职务表-通过id删除") - @Operation(summary = "职务表-通过id删除") - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name = "id", required = true) String id) { - try { - sysPositionService.removeById(id); - //删除用户职位关系表 - userPositionService.removeByPositionId(id); - } catch (Exception e) { - log.error("删除失败", e.getMessage()); - return Result.error("删除失败!"); - } - return Result.ok("删除成功!"); - } - - /** - * 批量删除 - * - * @param ids - * @return - */ - @AutoLog(value = "职务表-批量删除") - @Operation(summary = "职务表-批量删除") - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - Result result = new Result(); - if (ids == null || "".equals(ids.trim())) { - result.error500("参数不识别!"); - } else { - this.sysPositionService.removeByIds(Arrays.asList(ids.split(","))); - result.success("删除成功!"); - } - return result; - } - - /** - * 通过id查询 - * - * @param id - * @return - */ - @AutoLog(value = "职务表-通过id查询") - @Operation(summary = "职务表-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name = "id", required = true) String id) { - Result result = new Result(); - SysPosition sysPosition = sysPositionService.getById(id); - if (sysPosition == null) { - result.error500("未找到对应实体"); - } else { - result.setResult(sysPosition); - result.setSuccess(true); - } - return result; - } - - /** - * 导出excel - * - * @param request - * @param response - */ - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(SysPosition sysPosition,HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - sysPosition = JSON.parseObject(deString, SysPosition.class); - //------------------------------------------------------------------------------------------------ - //是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】 - if(MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL){ - sysPosition.setTenantId(oConvertUtils.getInt(TenantContext.getTenant(),0)); - } - //------------------------------------------------------------------------------------------------ - } - queryWrapper = QueryGenerator.initQueryWrapper(sysPosition, request.getParameterMap()); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - //update-begin--Author:liusq Date:20240715 for:[03]职务导出,如果选择数据则只导出相关数据-------------------- - String selections = request.getParameter("selections"); - if(!oConvertUtils.isEmpty(selections)){ - queryWrapper.in("id",selections.split(",")); - } - //update-end--Author:liusq Date:20240715 for:[03]职务导出,如果选择数据则只导出相关数据---------------------- - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = sysPositionService.list(queryWrapper); - LoginUser user = SecureUtil.currentUser(); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "职务表列表"); - mv.addObject(NormalExcelConstants.CLASS, SysPosition.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("职务表列表数据", "导出人:"+user.getRealname(),"导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; - } - - /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException { - MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; - Map fileMap = multipartRequest.getFileMap(); - // 错误信息 - List errorMessage = new ArrayList<>(); - int successLines = 0, errorLines = 0; - for (Map.Entry entity : fileMap.entrySet()) { - // 获取上传文件对象 - MultipartFile file = entity.getValue(); - ImportParams params = new ImportParams(); - params.setTitleRows(2); - params.setHeadRows(1); - params.setNeedSave(true); - try { - List listSysPositions = ExcelImportUtil.importExcel(file.getInputStream(), SysPosition.class, params); - List list = ImportExcelUtil.importDateSave(listSysPositions, ISysPositionService.class, errorMessage,CommonConstant.SQL_INDEX_UNIQ_CODE); - errorLines+=list.size(); - successLines+=(listSysPositions.size()-errorLines); - } catch (Exception e) { - log.error(e.getMessage(), e); - return Result.error("文件导入失败:" + e.getMessage()); - } finally { - try { - file.getInputStream().close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage); - } - - /** - * 通过code查询 - * - * @param code - * @return - */ - @AutoLog(value = "职务表-通过code查询") - @Operation(summary = "职务表-通过code查询") - @GetMapping(value = "/queryByCode") - public Result queryByCode(@RequestParam(name = "code", required = true) String code) { - Result result = new Result(); - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("code",code); - SysPosition sysPosition = sysPositionService.getOne(queryWrapper); - if (sysPosition == null) { - result.error500("未找到对应实体"); - } else { - result.setResult(sysPosition); - result.setSuccess(true); - } - return result; - } - - - /** - * 通过多个ID查询 - * - * @param ids - * @return - */ - @AutoLog(value = "职务表-通过多个查询") - @Operation(summary = "职务表-通过多个id查询") - @GetMapping(value = "/queryByIds") - public Result> queryByIds(@RequestParam(name = "ids") String ids) { - Result> result = new Result<>(); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.in(true,"id",ids.split(",")); - List list = sysPositionService.list(queryWrapper); - if (list == null) { - result.error500("未找到对应实体"); - } else { - result.setResult(list); - result.setSuccess(true); - } - return result; - } - - - - /** - * 获取职位用户列表 - * - * @param pageNo - * @param pageSize - * @param positionId - * @return - */ - @GetMapping("/getPositionUserList") - public Result> getPositionUserList(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - @RequestParam(name = "positionId") String positionId) { - - Page page = new Page<>(pageNo, pageSize); - IPage pageList = userPositionService.getPositionUserList(page, positionId); - List userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList()); - if (null != userIds && userIds.size() > 0) { - Map useDepNames = authUserService.getDepNamesByUserIds(userIds); - pageList.getRecords().forEach(item -> { - item.setOrgCodeTxt(useDepNames.get(item.getId())); - }); - } - return Result.ok(pageList); - } - - /** - * 添加成员到用户职位关系表 - * - * @param userIds - * @param positionId - * @return - */ - @PostMapping("/savePositionUser") - public Result saveUserPosition(@RequestParam(name = "userIds") String userIds, - @RequestParam(name = "positionId") String positionId) { - userPositionService.saveUserPosition(userIds, positionId); - return Result.ok("添加成功"); - } - - /** - * 职位列表移除成员 - * - * @param userIds - * @param positionId - * @return - */ - @DeleteMapping("/removePositionUser") - public Result removeUserPosition(@RequestParam(name = "userIds") String userIds, - @RequestParam(name = "positionId") String positionId) { - userPositionService.removePositionUser(userIds, positionId); - return Result.OK("移除成员成功"); - } -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java index 39cb114..858ef09 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysUserController.java @@ -97,9 +97,6 @@ public class SysUserController { @Autowired private ISysUserAgentService sysUserAgentService; - @Autowired - private ISysPositionService sysPositionService; - @Autowired private JeecgRedisClient jeecgRedisClient; @@ -1572,31 +1569,6 @@ public class SysUserController { if(user==null) { return Result.error("未找到该用户数据"); } - - //update-begin---author:wangshuai ---date:20230220 for:[QQYUN-3980]组织管理中 职位功能 职位表加租户id 加职位-用户关联表------------ - //获取用户id通过职位数据 - List sysPositionList = sysPositionService.getPositionList(user.getId()); - if(null != sysPositionList && sysPositionList.size()>0){ - //update-end---author:wangshuai ---date:20230220 for:[QQYUN-3980]组织管理中 职位功能 职位表加租户id 加职位-用户关联表------------ - StringBuilder nameBuilder = new StringBuilder(); - StringBuilder idBuilder = new StringBuilder(); - String verticalBar = " | "; - for (SysPosition sysPosition:sysPositionList){ - nameBuilder.append(sysPosition.getName()).append(verticalBar); - idBuilder.append(sysPosition.getId()).append(SymbolConstant.COMMA); - } - String names = nameBuilder.toString(); - if(oConvertUtils.isNotEmpty(names)){ - names = names.substring(0,names.lastIndexOf(verticalBar)); - user.setPostText(names); - } - //拼接职位id - String ids = idBuilder.toString(); - if(oConvertUtils.isNotEmpty(ids)){ - ids = ids.substring(0,ids.lastIndexOf(SymbolConstant.COMMA)); - user.setPost(ids); - } - } return Result.ok(user); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysPosition.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysPosition.java deleted file mode 100644 index 480982d..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysPosition.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.jeecg.modules.system.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import org.jeecg.common.aspect.annotation.Dict; -import org.jeecgframework.poi.excel.annotation.Excel; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * @Description: 职务表 - * @Author: jeecg-boot - * @Date: 2019-09-19 - * @Version: V1.0 - */ -@Data -@TableName("sys_position") -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@Schema(description = "职务表") -public class SysPosition { - - /** - * id - */ - @TableId(type = IdType.ASSIGN_ID) - @Schema(description = "id") - private java.lang.String id; - /** - * 职务编码 - */ - @Excel(name = "职务编码", width = 15) - @Schema(description = "职务编码") - private java.lang.String code; - /** - * 职务名称 - */ - @Excel(name = "职务名称", width = 15) - @Schema(description = "职务名称") - private java.lang.String name; - /** - * 职级 - */ - //@Excel(name = "职级", width = 15,dicCode ="position_rank") - @Schema(description = "职级") - @Dict(dicCode = "position_rank") - private java.lang.String postRank; - /** - * 公司id - */ - @Schema(description = "公司id") - private java.lang.String companyId; - /** - * 创建人 - */ - @Schema(description = "创建人") - private java.lang.String createBy; - /** - * 创建时间 - */ - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Schema(description = "创建时间") - private java.util.Date createTime; - /** - * 修改人 - */ - @Schema(description = "修改人") - private java.lang.String updateBy; - /** - * 修改时间 - */ - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @Schema(description = "修改时间") - private java.util.Date updateTime; - /** - * 组织机构编码 - */ - @Schema(description = "组织机构编码") - private java.lang.String sysOrgCode; - - /**租户ID*/ - @Schema(description = "租户ID") - private java.lang.Integer tenantId; -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java index c5e4e5f..928270f 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUser.java @@ -129,14 +129,6 @@ public class SysUser implements Serializable { @Excel(name = "工号", width = 15) private String workNo; - /** - * 职务,关联职务表 - */ - @Excel(name = "职务", width = 15) - @Dict(dictTable ="sys_position",dicText = "name",dicCode = "id") - @TableField(exist = false) - private String post; - /** * 座机号 */ diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUserPosition.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUserPosition.java deleted file mode 100644 index 027f2b4..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/entity/SysUserPosition.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.jeecg.modules.system.entity; - -import java.io.Serializable; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; -import java.util.Date; - -/** - * @Description: 用户职位关系表 - * @Author: jeecg-boot - * @Date: 2023-02-14 - * @Version: V1.0 - */ -@Schema(description="用户职位关系表") -@Data -@TableName("sys_user_position") -public class SysUserPosition implements Serializable { - private static final long serialVersionUID = 1L; - - /**主键*/ - @TableId(type = IdType.ASSIGN_ID) - @Schema(description = "主键") - private String id; - /**用户id*/ - @Excel(name = "用户id", width = 15) - @Schema(description = "用户id") - private String userId; - /**职位id*/ - @Schema(description = "职位id") - private String positionId; - /**创建人*/ - @Schema(description = "创建人") - private String createBy; - /**创建时间*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") - @Schema(description = "创建时间") - private Date createTime; - /**修改人*/ - @Schema(description = "修改人") - private String updateBy; - /**修改时间*/ - @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") - @DateTimeFormat(pattern="yyyy-MM-dd") - @Schema(description = "修改时间") - private Date updateTime; -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysPositionMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysPositionMapper.java deleted file mode 100644 index aa21adb..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysPositionMapper.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.jeecg.modules.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Select; -import org.jeecg.modules.system.entity.SysPosition; -import org.springframework.data.repository.query.Param; - -import java.util.List; - -/** - * @Description: 职务表 - * @Author: jeecg-boot - * @Date: 2019-09-19 - * @Version: V1.0 - */ -public interface SysPositionMapper extends BaseMapper { - - /** - * 通过用户id获取职位名称 - * @param userId - * @return - */ - List getPositionList(@Param("userId") String userId); - - /** - * 通过职位id获取职位名称 - * @param postList - * @return - */ - List getPositionName(@Param("postList") List postList); - - /** - * 根据职位名称获取职位id - * @param name - * @return - */ - @Select("SELECT id FROM sys_position WHERE name = #{name} AND tenant_id = #{tenantId} ORDER BY create_time DESC") - List getPositionIdByName(@Param("name") String name, @Param("tenantId") Integer tenantId, @Param("page") Page page); -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserPositionMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserPositionMapper.java deleted file mode 100644 index bc00e1b..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserPositionMapper.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.jeecg.modules.system.mapper; - -import java.util.List; - -import com.baomidou.mybatisplus.annotation.InterceptorIgnore; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.apache.ibatis.annotations.Delete; -import org.apache.ibatis.annotations.Select; -import org.jeecg.modules.system.entity.SysUser; -import org.jeecg.modules.system.entity.SysUserPosition; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Param; -import org.jeecg.modules.system.vo.SysUserPositionVo; - -/** - * @Description: 用户职位关系表 - * @Author: jeecg-boot - * @Date: 2023-02-14 - * @Version: V1.0 - */ -public interface SysUserPositionMapper extends BaseMapper { - - /** - * 获取职位用户列表 - * @param page - * @param positionId - * @return - */ - List getPositionUserList(@Param("page") Page page, @Param("positionId") String positionId); - - /** - * 获取成员是否存在职位中 - * @param userId - * @param positionId - * @return - */ - @Select("SELECT count(*) FROM sys_user_position WHERE user_id = #{userId} and position_id = #{positionId}") - Long getUserPositionCount(@Param("userId") String userId, @Param("positionId") String positionId); - - /** - * 通过职位id删除用户职位关系表 - * @param positionId - */ - @Delete("DELETE FROM sys_user_position WHERE position_id = #{positionId} ") - void removeByPositionId(@Param("positionId") String positionId); - - /** - * 职位列表移除成员 - * @param userIdList - * @param positionId - */ - void removePositionUser(@Param("userIdList") List userIdList, @Param("positionId") String positionId); - - /** - * 根据用户id查询职位id - * @param userId - * @return - */ - List getPositionIdByUserId(@Param("userId") String userId); - - - /** - * 根据用户ID和租户ID获取职位id - * @param userId - * @param tenantId - * @return - */ - @InterceptorIgnore(tenantLine = "true") - List getPositionIdByUserTenantId(@Param("userId")String userId, @Param("tenantId")Integer tenantId); - - /** - * 根据用户id获取用户职位 - * @param userIdList - * @param tenantId - * @return - */ - List getPositionIdByUsersTenantId(@Param("userIdList") List userIdList, @Param("tenantId") Integer tenantId); - - /** - * 根据职位名称和租户id,删除用户职位关系表 - * @param positionNames - * @param tenantId - * @param userId - */ - void deleteUserPosByNameAndTenantId(@Param("positionNames") List positionNames, @Param("tenantId") Integer tenantId, @Param("userId") String userId); -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysPositionMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysPositionMapper.xml deleted file mode 100644 index 778c3f1..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysPositionMapper.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserPositionMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserPositionMapper.xml deleted file mode 100644 index a398fc8..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserPositionMapper.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - DELETE FROM sys_user_position - WHERE - position_id = #{positionId} - AND user_id IN - - #{userId} - - - - - - - - - DELETE FROM sys_user_position - WHERE user_id = #{userId} - AND position_id in ( - SELECT id FROM sys_position where name in - - #{name} - - AND tenant_id = #{tenantId} - ) - - diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/model/SysUserSysDepartModel.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/model/SysUserSysDepartModel.java index 65c0ddd..094c10e 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/model/SysUserSysDepartModel.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/model/SysUserSysDepartModel.java @@ -15,7 +15,6 @@ public class SysUserSysDepartModel { private String id; private String realname; private String workNo; - private String post; private String telephone; private String email; private String phone; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IAuthUserService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IAuthUserService.java index 479cede..5cbeb93 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IAuthUserService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IAuthUserService.java @@ -150,18 +150,6 @@ public interface IAuthUserService extends IService { */ public Map getDepNamesByUserIds(List userIds); - /** - * 根据部门 Id 和 QueryWrapper 查询 - * - * @param page - * @param departId - * @param queryWrapper - * @return - */ - //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245【漏洞】发现新漏洞待处理20220906 ----sql注入 方法没有使用,注掉 - // public IPage getUserByDepartIdAndQueryWrapper(Page page, String departId, QueryWrapper queryWrapper); - //update-end-author:taoyan date:2022-9-13 for: VUEN-2245【漏洞】发现新漏洞待处理20220906 ----sql注入 方法没有使用,注掉 - /** * 根据 orgCode 查询用户,包括子部门下的用户 * @@ -487,13 +475,4 @@ public interface IAuthUserService extends IService { * @return */ IPage getProcessUserList(Page page, String orgCode, String keyword, List excludeUserIdList); - - /** - * 获取职位用户列表 - * @param page - * @param positionId - * @return - */ - List getPositionUserList(Page page, String positionId); - } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysPositionService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysPositionService.java deleted file mode 100644 index dd33dff..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysPositionService.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.jeecg.modules.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.modules.system.entity.SysPosition; - -import java.util.List; - -/** - * @Description: 职务表 - * @Author: jeecg-boot - * @Date: 2019-09-19 - * @Version: V1.0 - */ -public interface ISysPositionService extends IService { - - /** - * 通过code查询 - * @param code 职务编码 - * @return SysPosition - */ - SysPosition getByCode(String code); - - /** - * 通过用户id获取职位名称列表 - * @param userId - * @return - */ - List getPositionList(String userId); - - /** - * 获取职位名称 - * @param postList - * @return - */ - String getPositionName(List postList); -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserPositionService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserPositionService.java deleted file mode 100644 index d4e209f..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserPositionService.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.jeecg.modules.system.service; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.jeecg.modules.system.entity.SysUser; -import org.jeecg.modules.system.entity.SysUserPosition; -import com.baomidou.mybatisplus.extension.service.IService; -/** - * @Description: 用户职位关系表 - * @Author: jeecg-boot - * @Date: 2023-02-14 - * @Version: V1.0 - */ -public interface ISysUserPositionService extends IService { - - /** - * 获取职位用户列表 - * @param page - * @param positionId - * @return - */ - IPage getPositionUserList(Page page, String positionId); - - /** - * 添加成员到用户职位关系表 - * @param userIds - * @param positionId - */ - void saveUserPosition(String userIds, String positionId); - - /** - * 通过职位id删除用户职位关系表 - * @param positionId - */ - void removeByPositionId(String positionId); - - /** - * 移除成员 - * @param userIds - * @param positionId - */ - void removePositionUser(String userIds, String positionId); -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IThirdAppService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IThirdAppService.java deleted file mode 100644 index a51eca2..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/IThirdAppService.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.jeecg.modules.system.service; - -import org.jeecg.common.api.dto.message.MessageDTO; -import org.jeecg.modules.system.vo.thirdapp.SyncInfoVo; - -import java.util.List; - -/** - * 第三方App对接 - * @author: jeecg-boot - */ -public interface IThirdAppService { - - /** - * 获取AccessToken - * @return String - */ - String getAccessToken(); - - /** - * 将本地部门同步到第三方App
- * 同步方向:本地 --> 第三方APP - * 同步逻辑:
- * 1. 先判断是否同步过,有则修改,无则创建;
- * 2. 本地没有但第三方App里有则删除第三方App里的。 - * @param ids - * @return 成功返回true - */ - SyncInfoVo syncLocalDepartmentToThirdApp(String ids); - -// /** -// * 将第三方App部门同步到本地
-// * 同步方向:第三方APP --> 本地 -// * 同步逻辑:
-// * 1. 先判断是否同步过,有则修改,无则创建;
-// * 2. 本地没有但第三方App里有则删除第三方App里的。 -// * @param ids -// * @return 成功返回true -// */ -// SyncInfoVo syncThirdAppDepartmentToLocal(String ids); - - /** - * 将本地用户同步到第三方App
- * 同步方向:本地 --> 第三方APP
- * 同步逻辑:先判断是否同步过,有则修改、无则创建
- * 注意:同步人员的状态,比如离职、禁用、逻辑删除等。 - * (特殊点:1、目前逻辑特意做的不删除用户,防止企业微信提前上线,用户已经存在,但是平台无此用户。 - * 企业微信支持禁用账号;钉钉不支持 - * 2、企业微信里面是手机号激活,只能用户自己改,不允许通过接口改) - * @param ids - * @return 成功返回空数组,失败返回错误信息 - */ - SyncInfoVo syncLocalUserToThirdApp(String ids); - -// /** -// * 将第三方App用户同步到本地
-// * 同步方向:第三方APP --> 本地
-// * 同步逻辑:先判断是否同步过,有则修改、无则创建
-// * 注意:同步人员的状态,比如离职、禁用、逻辑删除等。 -// * -// * @return 成功返回空数组,失败返回错误信息 -// */ -// SyncInfoVo syncThirdAppUserToLocal(); - - /** - * 根据本地用户ID,删除第三方APP的用户 - * - * @param userIdList 本地用户ID列表 - * @return 0表示成功,其他值表示失败 - */ - int removeThirdAppUser(List userIdList); - - /** - * 发送消息 - * - * @param message - * @param verifyConfig 是否验证配置(未启用的APP会拒绝发送) - * @return - */ - boolean sendMessage(MessageDTO message, boolean verifyConfig); - - /** - * 发送消息 - * @param message - * @return boolean - */ - boolean sendMessage(MessageDTO message); - -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/AuthUserServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/AuthUserServiceImpl.java index 81fd950..9ab98bb 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/AuthUserServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/AuthUserServiceImpl.java @@ -16,9 +16,6 @@ import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; -import org.apache.commons.lang3.ObjectUtils; -import org.apache.ibatis.annotations.Param; -import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.api.vo.Result; import org.jeecg.common.config.TenantContext; import org.jeecg.common.constant.CacheConstant; @@ -26,9 +23,7 @@ import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.FillRuleConstant; import org.jeecg.common.constant.SymbolConstant; import org.jeecg.common.constant.enums.DySmsEnum; -import org.jeecg.common.constant.enums.MessageTypeEnum; import org.jeecg.common.constant.enums.RoleIndexConfigEnum; -import org.jeecg.common.constant.enums.SysAnnmentTypeEnum; import org.jeecg.common.desensitization.annotation.SensitiveEncode; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; @@ -108,10 +103,6 @@ public class AuthUserServiceImpl extends ServiceImpl im private BaseCommonService baseCommonService; @Autowired ISysRoleIndexService sysRoleIndexService; - @Autowired - private SysUserPositionMapper sysUserPositionMapper; - @Autowired - private SysPositionMapper sysPositionMapper; @Autowired private SystemSendMsgHandle systemSendMsgHandle; @@ -121,7 +112,6 @@ public class AuthUserServiceImpl extends ServiceImpl im @Override public Result> queryPageList(HttpServletRequest req, QueryWrapper queryWrapper, Integer pageSize, Integer pageNo) { Result> result = new Result>(); - //update-begin-Author:wangshuai--Date:20211119--for:【vue3】通过部门id查询用户,通过code查询id //部门ID String departId = req.getParameter("departId"); if (oConvertUtils.isNotEmpty(departId)) { @@ -129,13 +119,11 @@ public class AuthUserServiceImpl extends ServiceImpl im query.eq(SysUserDepart::getDepId, departId); List list = sysUserDepartMapper.selectList(query); List userIds = list.stream().map(SysUserDepart::getUserId).collect(Collectors.toList()); - //update-begin---author:wangshuai ---date:20220322 for:[issues/I4XTYB]查询用户时,当部门id 下没有分配用户时接口报错------------ if (oConvertUtils.listIsNotEmpty(userIds)) { queryWrapper.in("id", userIds); } else { return Result.OK(); } - //update-end---author:wangshuai ---date:20220322 for:[issues/I4XTYB]查询用户时,当部门id 下没有分配用户时接口报错------------ } //用户ID String code = req.getParameter("code"); @@ -143,29 +131,10 @@ public class AuthUserServiceImpl extends ServiceImpl im queryWrapper.in("id", Arrays.asList(code.split(","))); pageSize = code.split(",").length; } - //update-end-Author:wangshuai--Date:20211119--for:【vue3】通过部门id查询用户,通过code查询id - - //update-begin-author:taoyan--date:20220104--for: JTC-372 【用户冻结问题】 online授权、用户组件,选择用户都能看到被冻结的用户 String status = req.getParameter("status"); if (oConvertUtils.isNotEmpty(status)) { queryWrapper.eq("status", Integer.parseInt(status)); } - //update-end-author:taoyan--date:20220104--for: JTC-372 【用户冻结问题】 online授权、用户组件,选择用户都能看到被冻结的用户 - - //update-begin---author:wangshuai---date:2024-03-08---for:【QQYUN-8110】在线通讯录支持设置权限(只能看分配的技术支持)--- - String tenantId = TokenUtils.getTenantIdByRequest(req); - String lowAppId = TokenUtils.getLowAppIdByRequest(req); -// Object bean = ResourceUtil.getImplementationClass(DataEnhanceEnum.getClassPath(tenantId,lowAppId)); -// if(null != bean){ -// UserFilterEnhance userEnhanceService = (UserFilterEnhance) bean; -// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); -// List userIds = userEnhanceService.getUserIds(sysUser.getId()); -// if(CollectionUtil.isNotEmpty(userIds)){ -// queryWrapper.in("id", userIds); -// } -// } - //update-end---author:wangshuai---date:2024-03-08---for:【QQYUN-8110】在线通讯录支持设置权限(只能看分配的技术支持)--- - //TODO 外部模拟登陆临时账号,列表不显示 queryWrapper.ne("username", "_reserve_user_external"); Page page = new Page(pageNo, pageSize); @@ -183,13 +152,6 @@ public class AuthUserServiceImpl extends ServiceImpl im if (MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) { posTenantId = oConvertUtils.getInt(TenantContext.getTenant(), 0);; } - //查询用户职位关系表(获取租户下面的) - //update-begin---author:wangshuai---date:2023-11-15---for:【QQYUN-7028】用户职务保存后未回显--- - List positionList = sysUserPositionMapper.getPositionIdByUserTenantId(item.getId(),posTenantId); - //update-end---author:wangshuai---date:2023-11-15---for:【QQYUN-7028】用户职务保存后未回显--- - //update-end---author:wangshuai ---date:20230228 for:[QQYUN-4354]加入更多字段:当前加入时间应该取当前租户的/职位也是当前租户下的------------ - item.setPost(CommonUtils.getSplitText(positionList,SymbolConstant.COMMA)); - //update-end---author:wangshuai---date:2023-10-08---for:【QQYUN-6668】钉钉部门和用户同步,我怎么知道哪些用户是双向绑定成功的--- }); } @@ -514,12 +476,6 @@ public class AuthUserServiceImpl extends ServiceImpl im @Override public IPage queryUserByOrgCode(String orgCode, SysUser userParams, IPage page) { List list = queryUserDepartList(orgCode, userParams); - //根据部门orgCode查询部门,需要将职位id进行传递 - for (SysUserSysDepartModel model:list) { - List positionList = sysUserPositionMapper.getPositionIdByUserId(model.getId()); - model.setPost(CommonUtils.getSplitText(positionList,SymbolConstant.COMMA)); - } - int current = (int)page.getCurrent(); // 当前页码 int size = (int)page.getSize(); // 每页大小 Integer total = list.size(); @@ -615,8 +571,6 @@ public class AuthUserServiceImpl extends ServiceImpl im for (SysUser sysUser : userRoleList.getRecords()) { //设置部门 sysUser.setOrgCodeTxt(useDepNames.get(sysUser.getId())); - //设置用户职位id - this.userPositionId(sysUser); } } return userRoleList; @@ -810,9 +764,6 @@ public class AuthUserServiceImpl extends ServiceImpl im sysUserDepartMapper.insert(userDeaprt); } } - - //step.4 保存职位 - this.saveUserPosition(user.getId(),user.getPost()); } @Override @@ -867,9 +818,6 @@ public class AuthUserServiceImpl extends ServiceImpl im // 更新手机号、邮箱空字符串为 null authUserMapper.updateNullByEmptyString("email"); authUserMapper.updateNullByEmptyString("phone"); - - //step.5 修改职位 - this.editUserPosition(user.getId(),user.getPost()); } @Override @@ -889,8 +837,6 @@ public class AuthUserServiceImpl extends ServiceImpl im } LoginUser loginUser = new LoginUser(); SysUser sysUser = authUserMapper.getUserByName(username); - //设置职位id - this.userPositionId(sysUser); if(sysUser==null) { return null; } @@ -908,19 +854,8 @@ public class AuthUserServiceImpl extends ServiceImpl im List idList = JSONArray.parseArray(userIds, String.class); //部门 String selecteddeparts = json.getString("selecteddeparts"); - //职位 - String post = json.getString("post"); //工作地点? 没有这个字段 String workAddress = json.getString("workAddress"); - //批量修改用户职位 - if(oConvertUtils.isNotEmpty(post)) { - //update-begin---author:wangshuai ---date:20230220 for:[QQYUN-3980]组织管理中 职位功能 职位表加租户id 加职位-用户关联表------------ - //修改职位用户关系表 - for (String userId:idList) { - this.editUserPosition(userId,post); - } - //update-end---author:wangshuai ---date:20230220 for:[QQYUN-3980]组织管理中 职位功能 职位表加租户id 加职位-用户关联表------------ - } if(oConvertUtils.isNotEmpty(selecteddeparts)) { //查询当前租户的部门列表 Integer currentTenantId = oConvertUtils.getInt(TenantContext.getTenant(), 0); @@ -1199,8 +1134,6 @@ public class AuthUserServiceImpl extends ServiceImpl im this.updateTenantDepart(user, tenantId, departs); } //update-end---author:wangshuai ---date:20230424 for:【QQYUN-5251】人员与部门:部门删除不掉------------ - //修改用户下的职位 - this.editUserPosition(sysUser.getId(),sysUser.getPost()); } /** @@ -1260,50 +1193,6 @@ public class AuthUserServiceImpl extends ServiceImpl im System.out.println("修改用户部门用时:" + (endTime2 - startTime) + "ms"); } - /** - * 保存用户职位 - * - * @param userId - * @param positionIds - */ - private void saveUserPosition(String userId, String positionIds) { - if (oConvertUtils.isNotEmpty(positionIds)) { - String[] positionIdArray = positionIds.split(SymbolConstant.COMMA); - for (String postId : positionIdArray) { - SysUserPosition userPosition = new SysUserPosition(); - userPosition.setUserId(userId); - userPosition.setPositionId(postId); - sysUserPositionMapper.insert(userPosition); - } - } - } - - /** - * 编辑用户职位 - * - * @param userId - * @param positionIds - */ - private void editUserPosition(String userId, String positionIds) { - //先删除 - LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(SysUserPosition::getUserId, userId); - sysUserPositionMapper.delete(query); - //后新增数据 - this.saveUserPosition(userId, positionIds); - } - - /** - * 设置用户职位id(已逗号拼接起来) - * @param sysUser - */ - private void userPositionId(SysUser sysUser) { - if(null != sysUser){ - List positionList = sysUserPositionMapper.getPositionIdByUserId(sysUser.getId()); - sysUser.setPost(CommonUtils.getSplitText(positionList,SymbolConstant.COMMA)); - } - } - /** * 查询用户当前登录部门的id * @@ -1394,8 +1283,6 @@ public class AuthUserServiceImpl extends ServiceImpl im List userList = authUserMapper.selectList(userWrapper); //获取部门名称 List userDepVos = sysDepartMapper.getUserDepartByTenantUserId(userList, tenantId); - //获取职位 - List positionVos = sysUserPositionMapper.getPositionIdByUsersTenantId(userList, tenantId); // step2 根据用户id进行分类 //循环用户数据将数据整合导出 List exportUserVoList = new ArrayList<>(); @@ -1405,8 +1292,6 @@ public class AuthUserServiceImpl extends ServiceImpl im String departNames = userDepVos.stream().filter(item -> item.getUserId().equals(sysUser.getId())) .map(SysUserDepVo::getDepartName).collect(Collectors.joining(SymbolConstant.SEMICOLON)); exportUserVo.setDepart(departNames); - String posNames = positionVos.stream().filter(item -> item.getUserId().equals(sysUser.getId())).map(SysUserPositionVo::getName).collect(Collectors.joining(SymbolConstant.SEMICOLON)); - exportUserVo.setPosition(posNames); exportUserVoList.add(exportUserVo); } //step3 封装导出excel参数 @@ -1459,7 +1344,6 @@ public class AuthUserServiceImpl extends ServiceImpl im String phone = sysUserExcel.getPhone(); String realname = sysUserExcel.getRealname(); String depart = sysUserExcel.getDepart(); - String position = sysUserExcel.getPosition(); SysUser sysUser = new SysUser(); //判断id是否存在,如果存在的话就是更新 if (oConvertUtils.isNotEmpty(id)) { @@ -1509,10 +1393,6 @@ public class AuthUserServiceImpl extends ServiceImpl im authUserMapper.insert(sysUser); } } - //新增或编辑职位 - if (oConvertUtils.isNotEmpty(position)) { - this.addOrEditPosition(sysUser.getId(), position, isEdit, tenantId, positionMap); - } //新增的时候才可以添加部门 if (!isEdit) { //新增或编辑部门 @@ -1559,67 +1439,6 @@ public class AuthUserServiceImpl extends ServiceImpl im return null; } - /** - * 新增或者编辑职位 - * - * @param userId 用户id - * @param position 职位名称 已/拼接 - * @param isEdit 新增或编辑 - * @param positionMap 职位map key为name,value为职位id - */ - private void addOrEditPosition(String userId, String position, Boolean isEdit, Integer tenantId, Map positionMap) { - Page page = new Page<>(1, 1); - String[] positions = position.split(SymbolConstant.SEMICOLON); - List positionList = Arrays.asList(positions); - positionList = positionList.stream().distinct().collect(Collectors.toList()); - //删除当前租户下的职位,根据职位名称、租户id、用户id - sysUserPositionMapper.deleteUserPosByNameAndTenantId(positionList, tenantId, userId); - //循环需要添加或修改的数据 - for (String pos : positionList) { - String posId = ""; - if (positionMap.containsKey(pos)) { - posId = positionMap.get(pos); - } else { - List namePage = sysPositionMapper.getPositionIdByName(pos, tenantId, page); - if (CollectionUtil.isNotEmpty(namePage)) { - posId = namePage.get(0); - positionMap.put(pos, posId); - } - } - - //职位id不为空直接新增 - if (oConvertUtils.isNotEmpty(posId)) { - this.addSysUserPosition(userId, posId); - continue; - } - - //不是编辑的情况下职位才会新增 - if (!isEdit) { - //新增职位和用户职位关系 - SysPosition sysPosition = new SysPosition(); - sysPosition.setName(pos); - sysPosition.setCode(RandomUtil.randomString(10)); - sysPosition.setTenantId(tenantId); - sysPositionMapper.insert(sysPosition); - positionMap.put(pos, sysPosition.getId()); - this.addSysUserPosition(userId, sysPosition.getId()); - } - } - } - - /** - * 添加用户职位 - */ - private void addSysUserPosition(String userId, String positionId) { - Long count = sysUserPositionMapper.getUserPositionCount(userId, positionId); - if(count == 0){ - SysUserPosition userPosition = new SysUserPosition(); - userPosition.setUserId(userId); - userPosition.setPositionId(positionId); - sysUserPositionMapper.insert(userPosition); - } - } - /** * 新增或编辑部门 * @@ -1951,17 +1770,6 @@ public class AuthUserServiceImpl extends ServiceImpl im return pageUser(page, sysUsers); } - @Override - public List getPositionUserList(Page page, String positionId){ - List sysUserPositions = - sysUserPositionMapper.selectList(new LambdaQueryWrapper().eq(SysUserPosition::getPositionId, positionId).orderByAsc(SysUserPosition::getCreateTime)); - List userIds = sysUserPositions.stream().map(SysUserPosition::getUserId).collect(Collectors.toList()); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); - queryWrapper.eq(SysUser::getDelFlag,0); - queryWrapper.in(SysUser::getId,userIds); - return authUserMapper.selectList(queryWrapper); - } - public IPage pageUser(Page page, List sysUsers){ //计算分页参数 int current = (int)page.getCurrent(); // 当前页码 diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java index 84cc7c6..4bc5328 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java @@ -125,9 +125,6 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Autowired private ISysUserRoleService sysUserRoleService; - @Autowired - private ISysUserPositionService sysUserPositionService; - @Autowired private IDictTableWhiteListHandler dictTableWhiteListHandler; @@ -1711,13 +1708,6 @@ public class SysBaseApiImpl implements ISysBaseAPI { return null; } - @Override - public List queryUserIdsByPositionIds(List positionIds) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.lambda().select(SysUserPosition::getUserId).in(true,SysUserPosition::getPositionId,positionIds); - return sysUserPositionService.listObjs(queryWrapper,e->e.toString()); - } - //update-begin-author:taoyan date:2023-2-21 for: 解决参数顺序问题 /** * 获取带参数的报表地址,因为多个参数可能顺序会变,所以要将参数顺序重排,获取所有可能的地址集合 diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPositionServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPositionServiceImpl.java deleted file mode 100644 index ce38f82..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPositionServiceImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.jeecg.modules.system.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.constant.SymbolConstant; -import org.jeecg.modules.system.entity.SysPosition; -import org.jeecg.modules.system.mapper.SysPositionMapper; -import org.jeecg.modules.system.service.ISysPositionService; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.stream.Collectors; - -/** - * @Description: 职务表 - * @Author: jeecg-boot - * @Date: 2019-09-19 - * @Version: V1.0 - */ -@Service -public class SysPositionServiceImpl extends ServiceImpl implements ISysPositionService { - - @Override - public SysPosition getByCode(String code) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysPosition::getCode, code); - return super.getOne(queryWrapper); - } - - @Override - public List getPositionList(String userId) { - return this.baseMapper.getPositionList(userId); - } - - @Override - public String getPositionName(List postList) { - List positionNameList = this.baseMapper.getPositionName(postList); - if (null != positionNameList && positionNameList.size()>0) { - return positionNameList.stream().map(SysPosition::getName).collect(Collectors.joining(SymbolConstant.COMMA)); - } - return ""; - } -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserPositionServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserPositionServiceImpl.java deleted file mode 100644 index 2714ebf..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserPositionServiceImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.jeecg.modules.system.service.impl; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.jeecg.common.constant.SymbolConstant; -import org.jeecg.common.exception.JeecgBootException; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.system.entity.SysPosition; -import org.jeecg.modules.system.entity.SysUser; -import org.jeecg.modules.system.entity.SysUserPosition; -import org.jeecg.modules.system.mapper.AuthUserMapper; -import org.jeecg.modules.system.mapper.SysUserPositionMapper; -import org.jeecg.modules.system.service.IAuthUserService; -import org.jeecg.modules.system.service.ISysUserPositionService; -import org.springframework.stereotype.Service; - -import java.util.*; -import java.util.stream.Collectors; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * @Description: 用户职位关系表 - * @Author: jeecg-boot - * @Date: 2023-02-14 - * @Version: V1.0 - */ -@Service -public class SysUserPositionServiceImpl extends ServiceImpl implements ISysUserPositionService { - - @Autowired - private SysUserPositionMapper sysUserPositionMapper; - - @Autowired - private AuthUserMapper authUserMapper; - @Autowired - private IAuthUserService authUserService; - - @Override - public IPage getPositionUserList(Page page, String positionId) { - return page.setRecords(authUserService.getPositionUserList(page, positionId)); - } - - @Override - public void saveUserPosition(String userIds, String positionId) { - String[] userIdArray = userIds.split(SymbolConstant.COMMA); - //存在的用户 - StringBuilder userBuilder = new StringBuilder(); - for (String userId : userIdArray) { - //获取成员是否存在于职位中 - Long count = sysUserPositionMapper.getUserPositionCount(userId, positionId); - if (count == 0) { - //插入到用户职位关系表里面 - SysUserPosition userPosition = new SysUserPosition(); - userPosition.setPositionId(positionId); - userPosition.setUserId(userId); - sysUserPositionMapper.insert(userPosition); - } else { - userBuilder.append(userId).append(SymbolConstant.COMMA); - } - } - //如果用户id存在,说明已存在用户职位关系表中,提示用户已存在 - String uIds = userBuilder.toString(); - if (oConvertUtils.isNotEmpty(uIds)) { - //查询用户列表 - List sysUsers = authUserMapper.selectBatchIds(Arrays.asList(uIds.split(SymbolConstant.COMMA))); - String realnames = sysUsers.stream().map(SysUser::getRealname).collect(Collectors.joining(SymbolConstant.COMMA)); - throw new JeecgBootException(realnames + "已存在该职位中"); - } - } - - @Override - public void removeByPositionId(String positionId) { - sysUserPositionMapper.removeByPositionId(positionId); - } - - @Override - public void removePositionUser(String userIds, String positionId) { - String[] userIdArray = userIds.split(SymbolConstant.COMMA); - sysUserPositionMapper.removePositionUser(Arrays.asList(userIdArray),positionId); - } - -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/lowapp/AppExportUserVo.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/lowapp/AppExportUserVo.java index 0544334..679b77e 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/lowapp/AppExportUserVo.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/lowapp/AppExportUserVo.java @@ -22,10 +22,6 @@ public class AppExportUserVo { @Excel(name="姓名",width=30) private String realname; - /**职位*/ - @Excel(name = "职位",width = 30) - private String position; - /**部门*/ @Excel(name = "部门",width = 30) private String depart; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JdtDepartmentTreeVo.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JdtDepartmentTreeVo.java deleted file mode 100644 index 9726ca8..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JdtDepartmentTreeVo.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.jeecg.modules.system.vo.thirdapp; - -import com.jeecg.dingtalk.api.department.vo.Department; -import org.springframework.beans.BeanUtils; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -/** - * 钉钉树结构的部门 - * - * @author sunjianlei - */ -public class JdtDepartmentTreeVo extends Department { - - private List children; - - public List getChildren() { - return children; - } - - public JdtDepartmentTreeVo setChildren(List children) { - this.children = children; - return this; - } - - public JdtDepartmentTreeVo(Department department) { - BeanUtils.copyProperties(department, this); - } - - /** - * 是否有子项 - */ - public boolean hasChildren() { - return children != null && children.size() > 0; - } - - @Override - public String toString() { - return "JwDepartmentTree{" + - "children=" + children + - "} " + super.toString(); - } - - /** - * 静态辅助方法,将list转为tree结构 - */ - public static List listToTree(List allDepartment) { - // 先找出所有的父级 - List treeList = getByParentId(1, allDepartment); - Optional departmentOptional = allDepartment.stream().filter(item -> item.getParent_id() == null).findAny(); - Department department = new Department(); - //判断是否找到数据 - if(departmentOptional.isPresent()){ - department = departmentOptional.get(); - } - getChildrenRecursion(treeList, allDepartment); - //update-begin---author:wangshuai---date:2024-04-10---for:【issues/6017】钉钉同步部门时没有最顶层的部门名,同步用户时,用户没有部门信息--- - JdtDepartmentTreeVo treeVo = new JdtDepartmentTreeVo(department); - treeVo.setChildren(treeList); - List list = new ArrayList<>(); - list.add(treeVo); - return list; - //update-end---author:wangshuai---date:2024-04-10---for:【issues/6017】钉钉同步部门时没有最顶层的部门名,同步用户时,用户没有部门信息--- - } - - private static List getByParentId(Integer parentId, List allDepartment) { - List list = new ArrayList<>(); - for (Department department : allDepartment) { - if (parentId.equals(department.getParent_id())) { - list.add(new JdtDepartmentTreeVo(department)); - } - } - return list; - } - - private static void getChildrenRecursion(List treeList, List allDepartment) { - for (JdtDepartmentTreeVo departmentTree : treeList) { - // 递归寻找子级 - List children = getByParentId(departmentTree.getDept_id(), allDepartment); - if (children.size() > 0) { - departmentTree.setChildren(children); - getChildrenRecursion(children, allDepartment); - } - } - } - -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwDepartmentTreeVo.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwDepartmentTreeVo.java deleted file mode 100644 index d7d3de1..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwDepartmentTreeVo.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.jeecg.modules.system.vo.thirdapp; - -import com.jeecg.qywx.api.department.vo.Department; -import org.springframework.beans.BeanUtils; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -/** - * 企业微信树结构的部门 - * - * @author sunjianlei - */ -public class JwDepartmentTreeVo extends Department { - - private List children; - - public List getChildren() { - return children; - } - - public JwDepartmentTreeVo setChildren(List children) { - this.children = children; - return this; - } - - public JwDepartmentTreeVo(Department department) { - BeanUtils.copyProperties(department, this); - } - - /** - * 是否有子项 - */ - public boolean hasChildren() { - return children != null && children.size() > 0; - } - - @Override - public String toString() { - return "JwDepartmentTree{" + - "children=" + children + - "} " + super.toString(); - } - - /** - * 静态辅助方法,将list转为tree结构 - */ - public static List listToTree(List allDepartment) { - // 先找出所有的父级 - List treeList = getByParentId("1", allDepartment); - Optional departmentOptional = allDepartment.stream().filter(item -> "0".equals(item.getParentid())).findAny(); - Department department = new Department(); - //判断是否找到数据 - if(departmentOptional.isPresent()){ - department = departmentOptional.get(); - } - getChildrenRecursion(treeList, allDepartment); - //update-begin---author:wangshuai---date:2024-04-10---for:【issues/6017】企业微信同步部门时没有最顶层的部门名,同步用户时,用户没有部门信息--- - JwDepartmentTreeVo treeVo = new JwDepartmentTreeVo(department); - treeVo.setChildren(treeList); - List list = new ArrayList<>(); - list.add(treeVo); - return list; - //update-begin---author:wangshuai---date:2024-04-10---for:【issues/6017】企业微信部门时没有最顶层的部门名,同步用户时,用户没有部门信息--- - } - - private static List getByParentId(String parentId, List allDepartment) { - List list = new ArrayList<>(); - for (Department department : allDepartment) { - if (parentId.equals(department.getParentid())) { - list.add(new JwDepartmentTreeVo(department)); - } - } - return list; - } - - private static void getChildrenRecursion(List treeList, List allDepartment) { - for (JwDepartmentTreeVo departmentTree : treeList) { - // 递归寻找子级 - List children = getByParentId(departmentTree.getId(), allDepartment); - if (children.size() > 0) { - departmentTree.setChildren(children); - getChildrenRecursion(children, allDepartment); - } - } - } - -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwSysUserDepartVo.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwSysUserDepartVo.java deleted file mode 100644 index e8609f9..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwSysUserDepartVo.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.jeecg.modules.system.vo.thirdapp; - -import lombok.Data; - -import java.util.List; - -/** - * 企业微信的实现类 - */ -@Data -public class JwSysUserDepartVo { - - /** - * 企业微信和用户的映射类 - */ - private List jwUserDepartVos; - - /** - * 用户列表 - */ - private List userList; - -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwUserDepartVo.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwUserDepartVo.java deleted file mode 100644 index defb472..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/JwUserDepartVo.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.jeecg.modules.system.vo.thirdapp; - -import lombok.Data; - -/** -* @Description: 企业微信用户同步工具类 -* -* @author: wangshuai -* @date: 2023/11/28 18:17 -*/ -@Data -public class JwUserDepartVo { - - /** - * 用户id - */ - private String userId; - - /** - * 用户头像 - */ - private String avatar; - - /** - * 真实姓名 - */ - private String realName; - - /** - * 企业微信的名字 - */ - private String wechatRealName; - - /** - * 企业微信对应的部门 - */ - private String wechatDepartId; - - /** - * 企业微信对应的用户id - */ - private String wechatUserId; - - /** - * 第三方id - */ - private String thirdId; -} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/SyncInfoVo.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/SyncInfoVo.java deleted file mode 100644 index 9169202..0000000 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/vo/thirdapp/SyncInfoVo.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.jeecg.modules.system.vo.thirdapp; - -import lombok.Data; - -import java.util.ArrayList; -import java.util.List; - -/** - * 同步结果信息,包含成功的信息和失败的信息 - * - * @author sunjianlei - */ -@Data -public class SyncInfoVo { - - /** - * 成功的信息 - */ - private List successInfo; - /** - * 失败的信息 - */ - private List failInfo; - - public SyncInfoVo() { - this.successInfo = new ArrayList<>(); - this.failInfo = new ArrayList<>(); - } - - public SyncInfoVo(List successInfo, List failInfo) { - this.successInfo = successInfo; - this.failInfo = failInfo; - } - - public SyncInfoVo addSuccessInfo(String info) { - this.successInfo.add(info); - return this; - } - - public SyncInfoVo addFailInfo(String info) { - this.failInfo.add(info); - return this; - } -}