Browse Source

1、添加员工api模块接口,供其他模块调用

dongpo 1 năm trước cách đây
mục cha
commit
ccc8361fb6

+ 34 - 0
yudao-module-personnel/yudao-module-employee-api/src/main/java/cn/iocoder/yudao/module/employee/api/EmployeeApi.java

@@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.employee.api.dto.EmployeeQueryReqDTO;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 
 import javax.validation.Valid;
+import java.util.Collection;
+import java.util.List;
 
 /**
  * 员工 API 接口
@@ -15,6 +17,38 @@ import javax.validation.Valid;
  */
 public interface EmployeeApi {
 
+    /**
+     * 根据id查询员工信息
+     *
+     * @param id 用户ID
+     * @return 员工对象信息
+     */
+    EmployeeRespDTO getEmployeeById(Long id);
+
+    /**
+     * 根据id集合查询员工信息列表
+     *
+     * @param ids id集合
+     * @return 员工对象信息
+     */
+    List<EmployeeRespDTO> getEmployeeListByIds(Collection<Long> ids);
+
+    /**
+     * 根据用户id查询对应员工信息
+     *
+     * @param userId 用户ID
+     * @return 员工对象信息
+     */
+    EmployeeRespDTO getEmployeeByUserId(Long userId);
+
+    /**
+     * 根据用户id查询对应员工信息
+     *
+     * @param userIds 用户ID
+     * @return 员工对象信息
+     */
+    List<EmployeeRespDTO> getEmployeeListByUserIds(Collection<Long> userIds);
+
     /**
      * 创建员工
      *

+ 26 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/api/info/EmployeeApiImpl.java

@@ -15,6 +15,8 @@ import cn.iocoder.yudao.module.employee.service.info.EmployeeInfoService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.List;
 
 /**
  * 员工 API 实现类
@@ -27,6 +29,30 @@ public class EmployeeApiImpl implements EmployeeApi {
     @Resource
     private EmployeeInfoService infoService;
 
+    @Override
+    public EmployeeRespDTO getEmployeeById(Long id) {
+        EmployeeInfoDO info = infoService.getInfo(id);
+        return BeanUtils.toBean(info, EmployeeRespDTO.class);
+    }
+
+    @Override
+    public List<EmployeeRespDTO> getEmployeeListByIds(Collection<Long> ids) {
+        List<EmployeeInfoDO> employeeInfoDOList = infoService.getEmployeeListByIds(ids);
+        return BeanUtils.toBean(employeeInfoDOList, EmployeeRespDTO.class);
+    }
+
+    @Override
+    public EmployeeRespDTO getEmployeeByUserId(Long userId) {
+        EmployeeInfoDO employeeInfoDO = infoService.getEmployeeByUserId(userId);
+        return BeanUtils.toBean(employeeInfoDO, EmployeeRespDTO.class);
+    }
+
+    @Override
+    public List<EmployeeRespDTO> getEmployeeListByUserIds(Collection<Long> userIds) {
+        List<EmployeeInfoDO> employeeInfoDOList = infoService.getInfoListByUserIds(userIds);
+        return BeanUtils.toBean(employeeInfoDOList, EmployeeRespDTO.class);
+    }
+
     @Override
     public Long createEmployee(EmployeeCreateReqDTO reqDTO) {
         EmployeeInfoSaveReqVO reqVO = BeanUtils.toBean(reqDTO, EmployeeInfoSaveReqVO.class);

+ 31 - 2
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/service/info/EmployeeInfoService.java

@@ -1,10 +1,14 @@
 package cn.iocoder.yudao.module.employee.service.info;
 
-import cn.iocoder.yudao.module.employee.controller.admin.info.vo.*;
-import cn.iocoder.yudao.module.employee.dal.dataobject.info.EmployeeInfoDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.employee.controller.admin.info.vo.EmployeeInfoPageReqVO;
+import cn.iocoder.yudao.module.employee.controller.admin.info.vo.EmployeeInfoQueryReqVO;
+import cn.iocoder.yudao.module.employee.controller.admin.info.vo.EmployeeInfoSaveReqVO;
+import cn.iocoder.yudao.module.employee.dal.dataobject.info.EmployeeInfoDO;
 
 import javax.validation.Valid;
+import java.util.Collection;
+import java.util.List;
 
 /**
  * 员工信息 Service 接口
@@ -13,6 +17,31 @@ import javax.validation.Valid;
  */
 public interface EmployeeInfoService {
 
+    /**
+     * 获得员工信息列表
+     *
+     * @param ids 编号集合
+     * @return 员工信息列表
+     */
+    List<EmployeeInfoDO> getEmployeeListByIds(Collection<Long> ids);
+
+    /**
+     * 根据用户id获取对应员工信息
+     *
+     * @param userId 用户id
+     * @return 员工信息
+     */
+    EmployeeInfoDO getEmployeeByUserId(Long userId);
+
+    /**
+     * 根据用户id列表,获得员工信息列表
+     *
+     * @param userIds 用户id列表
+     * @return 员工信息列表
+     */
+    List<EmployeeInfoDO> getInfoListByUserIds(Collection<Long> userIds);
+
+
     /**
      * 创建员工信息
      *

+ 34 - 0
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/service/info/EmployeeInfoServiceImpl.java

@@ -1,7 +1,9 @@
 package cn.iocoder.yudao.module.employee.service.info;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
@@ -15,6 +17,10 @@ import cn.iocoder.yudao.module.employee.dal.mysql.info.EmployeeInfoMapper;
 
 import javax.annotation.Resource;
 
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.module.employee.enums.ErrorCodeConstants.EMPLOYEE_INFO_NOT_EXISTS;
 
@@ -32,6 +38,34 @@ public class EmployeeInfoServiceImpl implements EmployeeInfoService {
     @Resource
     private EmployeeInfoHistoryService employeeInfoHistoryService;
 
+    @Override
+    public List<EmployeeInfoDO> getEmployeeListByIds(Collection<Long> ids) {
+        if (CollUtil.isEmpty(ids)) {
+            return Collections.emptyList();
+        }
+        return infoMapper.selectBatchIds(ids);
+    }
+
+    @Override
+    public EmployeeInfoDO getEmployeeByUserId(Long userId) {
+        if (userId == null) {
+            return EmployeeInfoDO.builder().build();
+        }
+        LambdaQueryWrapper<EmployeeInfoDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(EmployeeInfoDO::getUserId, userId);
+        return  infoMapper.selectOne(lambdaQueryWrapper);
+    }
+
+    @Override
+    public List<EmployeeInfoDO> getInfoListByUserIds(Collection<Long> userIds) {
+        if (CollUtil.isEmpty(userIds)) {
+            return Collections.emptyList();
+        }
+        LambdaQueryWrapper<EmployeeInfoDO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.in(EmployeeInfoDO::getUserId, userIds);
+        return infoMapper.selectList(lambdaQueryWrapper);
+    }
+
     @Override
     @TenantIgnore
     public Long createInfo(EmployeeInfoSaveReqVO createReqVO) {