This commit is contained in:
PQZ 2024-08-07 12:00:52 +08:00
commit 743f529c31
25 changed files with 590 additions and 79 deletions

View File

@ -4,7 +4,6 @@ import cn.iocoder.yudao.converter.DateFormatConverter;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;

View File

@ -1,9 +1,7 @@
package cn.iocoder.yudao.module.company.entity; package cn.iocoder.yudao.module.company.entity;
import cn.iocoder.yudao.converter.DateFormatConverter;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;

View File

@ -1,14 +1,8 @@
package cn.iocoder.yudao.module.company.mapper; package cn.iocoder.yudao.module.company.mapper;
import cn.iocoder.yudao.module.company.entity.Company;
import cn.iocoder.yudao.module.company.entity.CompanyQuals; import cn.iocoder.yudao.module.company.entity.CompanyQuals;
import cn.iocoder.yudao.module.company.vo.CompanyQualsReqVO;
import cn.iocoder.yudao.module.company.vo.CompanyReqVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 企业资质信息表 * 企业资质信息表

View File

@ -1,13 +1,7 @@
package cn.iocoder.yudao.module.company.service; package cn.iocoder.yudao.module.company.service;
import cn.iocoder.yudao.module.company.entity.Company;
import cn.iocoder.yudao.module.company.entity.CompanyQuals; import cn.iocoder.yudao.module.company.entity.CompanyQuals;
import cn.iocoder.yudao.module.company.vo.CompanyQualsReqVO;
import cn.iocoder.yudao.module.company.vo.CompanyQualsRespVO; import cn.iocoder.yudao.module.company.vo.CompanyQualsRespVO;
import cn.iocoder.yudao.module.company.vo.CompanyReqVO;
import cn.iocoder.yudao.module.company.vo.CompanyRespVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**

View File

@ -1,14 +1,9 @@
package cn.iocoder.yudao.module.company.service.impl; package cn.iocoder.yudao.module.company.service.impl;
import cn.iocoder.yudao.module.company.entity.Company;
import cn.iocoder.yudao.module.company.entity.CompanyQuals; import cn.iocoder.yudao.module.company.entity.CompanyQuals;
import cn.iocoder.yudao.module.company.mapper.CompanyMapper;
import cn.iocoder.yudao.module.company.mapper.CompanyQualsMapper; import cn.iocoder.yudao.module.company.mapper.CompanyQualsMapper;
import cn.iocoder.yudao.module.company.service.CompanyQualsService; import cn.iocoder.yudao.module.company.service.CompanyQualsService;
import cn.iocoder.yudao.module.company.vo.CompanyQualsReqVO;
import cn.iocoder.yudao.module.company.vo.CompanyQualsRespVO; import cn.iocoder.yudao.module.company.vo.CompanyQualsRespVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.company.service.impl; package cn.iocoder.yudao.module.company.service.impl;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.exception.ErrorCode; import cn.iocoder.yudao.framework.common.exception.ErrorCode;
@ -11,12 +10,9 @@ import cn.iocoder.yudao.module.system.api.dept.DeptApi;
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
import cn.iocoder.yudao.module.system.api.permission.PermissionApi; import cn.iocoder.yudao.module.system.api.permission.PermissionApi;
import cn.iocoder.yudao.module.system.api.permission.RoleApi; import cn.iocoder.yudao.module.system.api.permission.RoleApi;
import cn.iocoder.yudao.module.system.api.permission.dto.RoleReqDTO;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi; import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO; import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO; import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
import cn.iocoder.yudao.module.system.enums.permission.RoleCodeEnum;
import cn.iocoder.yudao.module.system.enums.permission.RoleTypeEnum;
import com.baomidou.dynamic.datasource.annotation.DSTransactional; import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.iocoder.yudao.module.company.vo.CompanyReqVO; import cn.iocoder.yudao.module.company.vo.CompanyReqVO;
@ -27,7 +23,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.iocoder.yudao.module.company.mapper.CompanyMapper; import cn.iocoder.yudao.module.company.mapper.CompanyMapper;
import cn.iocoder.yudao.module.company.service.CompanyService; import cn.iocoder.yudao.module.company.service.CompanyService;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -38,8 +33,6 @@ import java.util.Set;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.USER_NOT_EXISTS;
import static java.util.Collections.singleton;
/** /**
* 企业信息表每个租户的下属企业信息;(dl_company)表服务实现类 * 企业信息表每个租户的下属企业信息;(dl_company)表服务实现类

View File

@ -1,14 +1,7 @@
package cn.iocoder.yudao.module.company.vo; package cn.iocoder.yudao.module.company.vo;
import cn.iocoder.yudao.module.company.entity.Company;
import cn.iocoder.yudao.module.company.entity.CompanyQuals; import cn.iocoder.yudao.module.company.entity.CompanyQuals;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/** /**
* 企业资质信息表查询条件实体 * 企业资质信息表查询条件实体

View File

@ -1,11 +1,8 @@
package cn.iocoder.yudao.module.company.vo; package cn.iocoder.yudao.module.company.vo;
import cn.iocoder.yudao.module.company.entity.Company;
import cn.iocoder.yudao.module.company.entity.CompanyQuals; import cn.iocoder.yudao.module.company.entity.CompanyQuals;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* 企业资质返回结果或提交vo * 企业资质返回结果或提交vo
* @author vinjor-M * @author vinjor-M

View File

@ -1,15 +1,10 @@
package cn.iocoder.yudao.module.company.vo; package cn.iocoder.yudao.module.company.vo;
import cn.iocoder.yudao.module.company.entity.Company; import cn.iocoder.yudao.module.company.entity.Company;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List; import java.util.List;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/** /**
* 企业返回结果或提交vo * 企业返回结果或提交vo
* @author vinjor-M * @author vinjor-M

86
dl-module-company/pom.xml Normal file
View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dl-module-company</artifactId>
<packaging>jar</packaging>
<name>${project.artifactId}</name>
<description>
点亮企业管理库
</description>
<dependencies>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-system-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-infra-api</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-biz-tenant</artifactId>
<version>2.1.0-jdk8-snapshot</version>
</dependency>
<!-- Web 相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- DB 相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-mybatis</artifactId>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-redis</artifactId>
</dependency>
<!-- Job 定时任务相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-job</artifactId>
</dependency>
<!-- 消息队列相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-mq</artifactId>
</dependency>
<!-- Test 测试相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 工具类相关 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-spring-boot-starter-excel</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,147 @@
package cn.iocoder.yudao.module.staff.controller.admin;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.service.CompanyStaffService;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
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.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
/**
* 企业管理-员工信息表 控制层
* @author 小李
* @date 17:14 2024/8/6
**/
@RestController
@RequestMapping("/company/staff")
@Tag(name = "管理后台 - 企业管理 - 员工管理")
@Validated
public class CompanyStaffController {
@Resource
private CompanyStaffService staffService;
/**
* 分页查询
* @author 小李
* @date 17:19 2024/8/6
* @param pageReqVO 查询条件对象
* @param pageNo 页码
* @param pageSize 条数
**/
@GetMapping("/page")
@Operation(summary = "获得企业管理-员工信息表信息分页")
@PreAuthorize("@ss.hasPermission('company:staff:query')")
public CommonResult<IPage<?>> getCompanyPage(CompanyStaffReqVO pageReqVO,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<CompanyStaff> page = new Page<>(pageNo, pageSize);
return success(staffService.queryListPage(pageReqVO, page));
}
/**
* 新增员工
* @author 小李
* @date 17:20 2024/8/6
* @param staffRespVO 员工对象
**/
@PostMapping("/create")
@Operation(summary = "创建企业管理-员工信息表信息")
@PreAuthorize("@ss.hasPermission('company:staff:create')")
public CommonResult<String> createCompany(@RequestBody CompanyStaffRespVO staffRespVO) {
staffService.saveStaff(staffRespVO);
return CommonResult.ok();
}
/**
* 修改员工
* @author 小李
* @date 17:24 2024/8/6
* @param staffRespVO 员工对象
**/
@PutMapping("/update")
@Operation(summary = "更新企业管理-员工信息表信息")
@PreAuthorize("@ss.hasPermission('company:staff:update')")
public CommonResult<Boolean> updateCompany(@RequestBody CompanyStaffRespVO staffRespVO) {
staffService.updateStaff(staffRespVO);
return CommonResult.ok();
}
/**
* 删除员工
* @author 小李
* @date 17:28 2024/8/6
* @param id 员工id
**/
@DeleteMapping("/delete")
@Operation(summary = "删除企业管理-员工信息表信息")
@Parameter(name = "id", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('company:staff:delete')")
public CommonResult<Boolean> deleteCompany(@RequestParam("id") String id) {
staffService.deleteStaff(id);
return success(true);
}
/**
* 查询员工
* @author 小李
* @date 17:59 2024/8/6
* @param id
**/
@GetMapping("/get")
@Operation(summary = "获得企业管理-员工信息表信息")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('company:staff:query')")
public CommonResult<CompanyStaffRespVO> getCompany(@RequestParam("id") String id) {
CompanyStaff staff = staffService.getById(id);
CompanyStaffRespVO staffRespVO = BeanUtils.toBean(staff, CompanyStaffRespVO.class);
if(StringUtils.isNotEmpty(staffRespVO.getFileIds())){
staffRespVO.setFileIdArray(Arrays.asList(staff.getFileIds().split(StrUtil.COMMA)));
}
return success(staffRespVO);
}
/**
* @author 小李
* @date 18:01 2024/8/6
* @param pageReqVO 查询条件--暂时导出所有
* @param response 响应体
**/
@GetMapping("/export-excel")
@Operation(summary = "导出企业管理-员工信息表 Excel")
@PreAuthorize("@ss.hasPermission('company:staff:export')")
@ApiAccessLog(operateType = EXPORT)
public void exportCompanyExcel(CompanyStaffReqVO pageReqVO,
HttpServletResponse response) throws IOException {
List<CompanyStaff> list = staffService.list();
// 导出 Excel
Map<Integer, Integer> columnWidthMap = new HashMap<>();
// 第一列的索引是0宽度设置为20个字符宽
columnWidthMap.put(9, 20);
columnWidthMap.put(10, 20);
ExcelUtils.write(response, "企业信息表.xls", "数据", CompanyStaff.class, list,columnWidthMap);
}
}

View File

@ -0,0 +1,89 @@
package cn.iocoder.yudao.module.staff.entity;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 企业管理-员工信息实体
* @author 小李
* @date 16:25 2024/8/6
**/
@TableName("company_staff")
@Data
@EqualsAndHashCode(callSuper = true)
@ExcelIgnoreUnannotated
public class CompanyStaff extends TenantBaseDO {
/** 主键标识 */
@TableId(type = IdType.INPUT)
private String id;
/** 企业idbase_company表中的id */
private String corpId;
/** 用户idsystem_users表的id */
private Long userId;
/** 部门id(system_dept表中的id) */
private Long deptId;
/** 工号 */
@ExcelProperty("工号")
private String workNo;
/** 姓名 */
@ExcelProperty("姓名")
private String name;
/** 手机号 */
@ExcelProperty("手机号")
private String tel;
/** 性别 */
@ExcelProperty("性别")
private String sex;
/** 家庭住址 */
@ExcelProperty("家庭住址")
private String address;
/** 工作日期 */
@ExcelProperty("工作日期")
private LocalDate workDate;
/** 工龄 */
@ExcelProperty("工龄")
private BigDecimal workYear;
/** 入职日期 */
@ExcelProperty("入职日期")
private LocalDate joinedDate;
/** 司龄 */
@ExcelProperty("司龄")
private BigDecimal joinedYear;
/** 学历 */
@ExcelProperty("学历")
private String education;
/** 个人简介 */
@ExcelProperty("个人简介")
private String content;
/** 唯一推广码(须保证全平台唯一,规则:字母+数字;字母全大写) */
@ExcelProperty("唯一推广码")
private String uniqueCode;
/** 附件idsinfra_file表中的id多个英文逗号拼接 */
private String fileIds;
}

View File

@ -0,0 +1,22 @@
package cn.iocoder.yudao.module.staff.mapper;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 企业管理-员工信息表
* @author 小李
* @date 16:26 2024/8/6
**/
@Mapper
public interface CompanyStaffMapper extends BaseMapper<CompanyStaff> {
IPage<CompanyStaff> selectListPage(@Param("map") CompanyStaffReqVO companyStaffReqVO, Page<CompanyStaff> page);
}

View File

@ -0,0 +1,50 @@
package cn.iocoder.yudao.module.staff.service;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.validation.Valid;
/**
* 企业管理-员工信息表 服务
* @author 小李
* @date 16:29 2024/8/6
**/
public interface CompanyStaffService extends IService<CompanyStaff> {
/**
* 获得企业管理-员工信息表分页
* @author 小李
* @date 17:11 2024/8/6
* @param pageReqVO 分页查询
**/
IPage<CompanyStaff> queryListPage(CompanyStaffReqVO pageReqVO, Page<CompanyStaff> page);
/**
* 新增员工
* @author 小李
* @date 16:29 2024/8/6
* @param staffRespVO 员工对象
**/
void saveStaff(@Valid CompanyStaffRespVO staffRespVO);
/**
* 修改员工信息
* @author 小李
* @date 16:31 2024/8/6
* @param staffRespVO 员工对象
**/
void updateStaff(@Valid CompanyStaffRespVO staffRespVO);
/**
* 删除员工信息
* @author 小李
* @date 16:32 2024/8/6
* @param id 员工ID
**/
void deleteStaff(String id);
}

View File

@ -0,0 +1,52 @@
package cn.iocoder.yudao.module.staff.service.impl;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.mapper.CompanyStaffMapper;
import cn.iocoder.yudao.module.staff.service.CompanyStaffService;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 企业管理-员工信息表 服务实现类
* @author 小李
* @date 16:29 2024/8/6
**/
@Service
public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, CompanyStaff> implements CompanyStaffService {
@Resource
private CompanyStaffMapper staffMapper;
/**
* 获得企业管理-员工信息表分页
* @author 小李
* @date 17:11 2024/8/6
* @param pageReqVO 分页查询
* @param page 分页对象
**/
@Override
public IPage<CompanyStaff> queryListPage(CompanyStaffReqVO pageReqVO, Page<CompanyStaff> page) {
return staffMapper.selectListPage(pageReqVO, page);
}
@Override
public void saveStaff(CompanyStaffRespVO staffRespVO) {
}
@Override
public void updateStaff(CompanyStaffRespVO staffRespVO) {
}
@Override
public void deleteStaff(String id) {
}
}

View File

@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.staff.vo;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import lombok.Data;
/**
* 员工查询VO
* @author 小李
* @date 16:49 2024/8/6
**/
@Data
public class CompanyStaffReqVO extends CompanyStaff {
}

View File

@ -0,0 +1,20 @@
package cn.iocoder.yudao.module.staff.vo;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import lombok.Data;
import java.util.List;
/**
* 员工响应或提交VO
* @author 小李
* @date 16:50 2024/8/6
**/
@Data
public class CompanyStaffRespVO extends CompanyStaff {
/**
* 员工附件IDS
*/
List<String> fileIdArray;
}

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.staff.mapper.CompanyStaffMapper">
<select id="selectListPage" resultType="cn.iocoder.yudao.module.staff.entity.CompanyStaff">
select * from company_staff
</select>
</mapper>

79
pom.xml
View File

@ -22,8 +22,10 @@
<module>yudao-module-crm</module> <module>yudao-module-crm</module>
<module>yudao-module-erp</module> <module>yudao-module-erp</module>
<module>dl-module-base</module> <module>dl-module-base</module>
<module>dl-module-company</module>
<!-- Server 主项目 --> <!-- Server 主项目 -->
<module>yudao-server</module> <module>yudao-server</module>
<!-- <module>yudao-module-ai</module>--> <!-- <module>yudao-module-ai</module>-->
</modules> </modules>
@ -134,36 +136,51 @@
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun Repository</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<!-- 积木报表部分依赖需要从jeecg仓库中下载 -->
<repository>
<id>jeecg</id>
<name>jeecg Repository</name>
<url>http://maven.jeecg.org/nexus/content/repositories/jeecg</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<!-- 使用 huawei / aliyun 的 Maven 源,提升下载速度 -->
<repository>
<id>huaweicloud</id>
<name>huawei</name>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</repository>
<repository>
<id>aliyunmaven</id>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
<!-- 使用 huawei / aliyun 的 Maven 源,提升下载速度 --> <repository>
<!-- <repositories>--> <id>spring-milestones</id>
<!-- <repository>--> <name>Spring Milestones</name>
<!-- <id>huaweicloud</id>--> <url>https://repo.spring.io/milestone</url>
<!-- <name>huawei</name>--> <snapshots>
<!-- <url>https://mirrors.huaweicloud.com/repository/maven/</url>--> <enabled>false</enabled>
<!-- </repository>--> </snapshots>
<!-- <repository>--> </repository>
<!-- <id>aliyunmaven</id>--> <repository>
<!-- <name>aliyun</name>--> <id>spring-snapshots</id>
<!-- <url>https://maven.aliyun.com/repository/public</url>--> <name>Spring Snapshots</name>
<!-- </repository>--> <url>https://repo.spring.io/snapshot</url>
<releases>
<!-- <repository>--> <enabled>false</enabled>
<!-- <id>spring-milestones</id>--> </releases>
<!-- <name>Spring Milestones</name>--> </repository>
<!-- <url>https://repo.spring.io/milestone</url>--> </repositories>
<!-- <snapshots>-->
<!-- <enabled>false</enabled>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- <repository>-->
<!-- <id>spring-snapshots</id>-->
<!-- <name>Spring Snapshots</name>-->
<!-- <url>https://repo.spring.io/snapshot</url>-->
<!-- <releases>-->
<!-- <enabled>false</enabled>-->
<!-- </releases>-->
<!-- </repository>-->
<!-- </repositories>-->
</project> </project>

View File

@ -502,7 +502,7 @@
<dependency> <dependency>
<groupId>com.google.inject</groupId> <groupId>com.google.inject</groupId>
<artifactId>guice</artifactId> <artifactId>guice</artifactId>
<version>${guice.version}</version> <!-- <version>${guice.version}</version>-->
</dependency> </dependency>
<dependency> <dependency>

View File

@ -63,6 +63,7 @@
<dependency> <dependency>
<groupId>org.jeecgframework.jimureport</groupId> <groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot-starter</artifactId> <artifactId>jimureport-spring-boot-starter</artifactId>
<!-- <version>1.4.0</version>-->
</dependency> </dependency>
<!-- 单独依赖升级版本解决低版本validator失败问题 --> <!-- 单独依赖升级版本解决低版本validator失败问题 -->
<dependency> <dependency>

View File

@ -0,0 +1,27 @@
package cn.iocoder.yudao.module.system.enums.common;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 性别的枚举值
*
* @author 芋道源码
*/
@Getter
@AllArgsConstructor
public enum DeptEnum {
/** 私人客户 */
PRIVATE_CUS("私人客户"),
/** 代办客户 */
AGENT_CUS("代办客户"),
/** 政企客户 */
GOV_CUS("政企客户");
/**
* 名称
*/
private final String name;
}

View File

@ -51,6 +51,7 @@ import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*; import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
import static cn.iocoder.yudao.module.system.enums.common.DeptEnum.*;
import static java.util.Collections.singleton; import static java.util.Collections.singleton;
/** /**
@ -131,7 +132,11 @@ public class TenantServiceImpl implements TenantService {
// 修改租户的管理员 // 修改租户的管理员
tenantMapper.updateById(new TenantDO().setId(tenant.getId()).setContactUserId(userId)); tenantMapper.updateById(new TenantDO().setId(tenant.getId()).setContactUserId(userId));
//创建租户顶级部门 //创建租户顶级部门
Long deptId = createDept(userId,createReqVO.getName(),createReqVO.getContactMobile()); Long deptId = createDept(userId,createReqVO.getName(),createReqVO.getContactMobile(),null);
//创建三个客户部门私人客户代办客户政企客户
createDept(null,PRIVATE_CUS.getName(),null,deptId);
createDept(null,AGENT_CUS.getName(),null,deptId);
createDept(null,GOV_CUS.getName(),null,deptId);
//拉取本租户配置的服务套餐对应的角色和权限存入本租户对应信息 //拉取本租户配置的服务套餐对应的角色和权限存入本租户对应信息
createServiceRole(createReqVO.getPackageId()); createServiceRole(createReqVO.getPackageId());
}); });
@ -158,13 +163,20 @@ public class TenantServiceImpl implements TenantService {
} }
} }
private Long createDept(Long userId,String deptName,String phone){ private Long createDept(Long userId,String deptName,String phone,Long parentId){
DeptSaveReqVO deptSaveReqVO = new DeptSaveReqVO(); DeptSaveReqVO deptSaveReqVO = new DeptSaveReqVO();
deptSaveReqVO.setName(deptName); deptSaveReqVO.setName(deptName);
deptSaveReqVO.setSort(0); deptSaveReqVO.setSort(0);
deptSaveReqVO.setPhone(phone);
deptSaveReqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); deptSaveReqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
deptSaveReqVO.setLeaderUserId(userId); if(null!=phone){
deptSaveReqVO.setPhone(phone);
}
if(null!=userId){
deptSaveReqVO.setLeaderUserId(userId);
}
if(null!=parentId){
deptSaveReqVO.setParentId(parentId);
}
return deptService.createDept(deptSaveReqVO); return deptService.createDept(deptSaveReqVO);
} }

View File

@ -37,6 +37,12 @@
<artifactId>dl-module-base</artifactId> <artifactId>dl-module-base</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<!-- 企业管理包 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>dl-module-company</artifactId>
<version>${revision}</version>
</dependency>
<!-- 会员中心。默认注释,保证编译速度 --> <!-- 会员中心。默认注释,保证编译速度 -->
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>cn.iocoder.boot</groupId>--> <!-- <groupId>cn.iocoder.boot</groupId>-->

View File

@ -80,7 +80,9 @@ mybatis-plus:
type-aliases-package: type-aliases-package:
- ${yudao.info.base-package}.module.*.dal.dataobject - ${yudao.info.base-package}.module.*.dal.dataobject
- ${yudao.info.base-package}.module.*.entity - ${yudao.info.base-package}.module.*.entity
mapper-locations: classpath:/mapper/*/*.xml mapper-locations:
- classpath*:mapper/*/*.xml # 扫描子模块下的 mapper.xml文件
- classpath:mapper/*/*.xml # 扫描当前模块下的 mapper.xml 文件
encryptor: encryptor:
password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成 password: XDV71a+xqStEA3WH # 加解密的秘钥,可使用 https://www.imaegoo.com/2020/aes-key-generator/ 网站生成