mirror of
				https://gitee.com/lab1024/smart-admin.git
				synced 2025-11-04 18:33:43 +08:00 
			
		
		
		
	1、优化与完善个人中心的资料更新;2、修改员工DAO层的方法参数
This commit is contained in:
		@@ -57,11 +57,11 @@ public class EmployeeController {
 | 
			
		||||
        return employeeService.updateEmployee(employeeUpdateForm);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "更新登录人信息 @author 善逸")
 | 
			
		||||
    @PostMapping("/employee/update/login")
 | 
			
		||||
    public ResponseDTO<String> updateByLogin(@Valid @RequestBody EmployeeUpdateForm employeeUpdateForm) {
 | 
			
		||||
        employeeUpdateForm.setEmployeeId(SmartRequestUtil.getRequestUserId());
 | 
			
		||||
        return employeeService.updateEmployee(employeeUpdateForm);
 | 
			
		||||
    @Operation(summary = "更新员工个人中心信息 @author 善逸")
 | 
			
		||||
    @PostMapping("/employee/update/center")
 | 
			
		||||
    public ResponseDTO<String> updateCenter(@Valid @RequestBody EmployeeUpdateCenterForm updateCenterForm) {
 | 
			
		||||
        updateCenterForm.setEmployeeId(SmartRequestUtil.getRequestUserId());
 | 
			
		||||
        return employeeService.updateCenter(updateCenterForm);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "更新登录人头像 @author 善逸")
 | 
			
		||||
 
 | 
			
		||||
@@ -34,19 +34,16 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
 | 
			
		||||
     */
 | 
			
		||||
    List<EmployeeVO> selectEmployeeByDisabledAndDeleted(@Param("disabledFlag") Boolean disabledFlag, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新禁用状态
 | 
			
		||||
     */
 | 
			
		||||
    void updateDisableFlag(@Param("employeeId") Long employeeId, @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 通过登录名查询
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeEntity getByLoginName(@Param("loginName") String loginName, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 通过姓名查询
 | 
			
		||||
     */
 | 
			
		||||
@@ -57,6 +54,11 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeEntity getByPhone(@Param("phone") String phone, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 通过邮箱账号查询
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeEntity getByEmail(@Param("email") String email, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取所有员工
 | 
			
		||||
     */
 | 
			
		||||
@@ -64,7 +66,6 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取某个部门员工数
 | 
			
		||||
     *
 | 
			
		||||
     */
 | 
			
		||||
    Integer countByDepartmentId(@Param("departmentId") Long departmentId, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
@@ -73,25 +74,21 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
 | 
			
		||||
     */
 | 
			
		||||
    List<EmployeeVO> getEmployeeByIds(@Param("employeeIds") Collection<Long> employeeIds);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询单个员工信息
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeVO getEmployeeById(@Param("employeeId") Long employeeId);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取某个部门的员工
 | 
			
		||||
     */
 | 
			
		||||
    List<EmployeeEntity> selectByDepartmentId(@Param("departmentId") Long departmentId, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询某些部门下用户名是xxx的员工
 | 
			
		||||
     */
 | 
			
		||||
    List<EmployeeEntity> selectByActualName(@Param("departmentIdList") List<Long> departmentIdList, @Param("actualName") String actualName, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取某批部门的员工Id
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
@@ -51,17 +51,19 @@ public class EmployeeAddForm {
 | 
			
		||||
    @Pattern(regexp = SmartVerificationUtil.PHONE_REGEXP, message = "手机号格式不正确")
 | 
			
		||||
    private String phone;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "邮箱")
 | 
			
		||||
    @Schema(description = "邮箱账号")
 | 
			
		||||
    @NotNull(message = "邮箱账号不能为空")
 | 
			
		||||
    @Pattern(regexp = SmartVerificationUtil.EMAIL, message = "邮箱账号格式不正确")
 | 
			
		||||
    private String email;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "职务级别ID")
 | 
			
		||||
    private Long positionId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "角色列表")
 | 
			
		||||
    private List<Long> roleIdList;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "备注")
 | 
			
		||||
    @Length(max = 30, message = "备注最多200字符")
 | 
			
		||||
    @Length(max = 200, message = "备注最多200字符")
 | 
			
		||||
    private String remark;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "职务级别ID")
 | 
			
		||||
    private Long positionId;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,56 @@
 | 
			
		||||
package net.lab1024.sa.admin.module.system.employee.domain.form;
 | 
			
		||||
 | 
			
		||||
import io.swagger.v3.oas.annotations.media.Schema;
 | 
			
		||||
import jakarta.validation.constraints.NotNull;
 | 
			
		||||
import jakarta.validation.constraints.Pattern;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import net.lab1024.sa.base.common.enumeration.GenderEnum;
 | 
			
		||||
import net.lab1024.sa.base.common.swagger.SchemaEnum;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartVerificationUtil;
 | 
			
		||||
import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
 | 
			
		||||
import org.hibernate.validator.constraints.Length;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 更新员工个人中心信息
 | 
			
		||||
 *
 | 
			
		||||
 * @Author 1024创新实验室: 开云
 | 
			
		||||
 * @Date 2021-12-20 21:06:49
 | 
			
		||||
 * @Wechat zhuoda1024
 | 
			
		||||
 * @Email lab1024@163.com
 | 
			
		||||
 * @Copyright <a href="https://1024lab.net">1024创新实验室</a>
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
public class EmployeeUpdateCenterForm {
 | 
			
		||||
 | 
			
		||||
    @Schema(hidden = true)
 | 
			
		||||
    private Long employeeId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "姓名")
 | 
			
		||||
    @NotNull(message = "姓名不能为空")
 | 
			
		||||
    @Length(max = 30, message = "姓名最多30字符")
 | 
			
		||||
    private String actualName;
 | 
			
		||||
 | 
			
		||||
    @SchemaEnum(GenderEnum.class)
 | 
			
		||||
    @CheckEnum(value = GenderEnum.class, message = "性别错误")
 | 
			
		||||
    private Integer gender;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "手机号")
 | 
			
		||||
    @NotNull(message = "手机号不能为空")
 | 
			
		||||
    @Pattern(regexp = SmartVerificationUtil.PHONE_REGEXP, message = "手机号格式不正确")
 | 
			
		||||
    private String phone;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "邮箱账号")
 | 
			
		||||
    @NotNull(message = "邮箱账号不能为空")
 | 
			
		||||
    @Pattern(regexp = SmartVerificationUtil.EMAIL, message = "邮箱账号格式不正确")
 | 
			
		||||
    private String email;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "职务级别ID")
 | 
			
		||||
    private Long positionId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "头像")
 | 
			
		||||
    private String avatar;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "备注")
 | 
			
		||||
    @Length(max = 200, message = "备注最多200字符")
 | 
			
		||||
    private String remark;
 | 
			
		||||
}
 | 
			
		||||
@@ -168,19 +168,14 @@ public class EmployeeService {
 | 
			
		||||
            return ResponseDTO.userErrorParam("部门不存在");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        EmployeeEntity existEntity = employeeDao.getByLoginName(employeeUpdateForm.getLoginName(), null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("登录名重复");
 | 
			
		||||
        // 检查唯一性
 | 
			
		||||
        ResponseDTO<String> checkResponse = checkUniqueness(employeeId, employeeUpdateForm.getLoginName(), employeeUpdateForm.getPhone(), employeeUpdateForm.getEmail());
 | 
			
		||||
        if (!checkResponse.getOk()) {
 | 
			
		||||
            return checkResponse;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        existEntity = employeeDao.getByPhone(employeeUpdateForm.getPhone(), null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("手机号已存在");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 不更新密码
 | 
			
		||||
        EmployeeEntity entity = SmartBeanUtil.copy(employeeUpdateForm, EmployeeEntity.class);
 | 
			
		||||
        // 不更新密码
 | 
			
		||||
        entity.setLoginPwd(null);
 | 
			
		||||
 | 
			
		||||
        // 更新数据
 | 
			
		||||
@@ -192,6 +187,58 @@ public class EmployeeService {
 | 
			
		||||
        return ResponseDTO.ok();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新员工个人中心信息
 | 
			
		||||
     */
 | 
			
		||||
    public ResponseDTO<String> updateCenter(EmployeeUpdateCenterForm updateCenterForm) {
 | 
			
		||||
 | 
			
		||||
        Long employeeId = updateCenterForm.getEmployeeId();
 | 
			
		||||
        EmployeeEntity employeeEntity = employeeDao.selectById(employeeId);
 | 
			
		||||
        if (null == employeeEntity) {
 | 
			
		||||
            return ResponseDTO.error(UserErrorCode.DATA_NOT_EXIST);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 检查唯一性 登录账号不能修改则不需要检查
 | 
			
		||||
        ResponseDTO<String> checkResponse = checkUniqueness(employeeId, "", updateCenterForm.getPhone(), updateCenterForm.getEmail());
 | 
			
		||||
        if (!checkResponse.getOk()) {
 | 
			
		||||
            return checkResponse;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        EmployeeEntity employee = SmartBeanUtil.copy(updateCenterForm, EmployeeEntity.class);
 | 
			
		||||
        // 不更新密码
 | 
			
		||||
        employee.setLoginPwd(null);
 | 
			
		||||
 | 
			
		||||
        // 更新数据
 | 
			
		||||
        employeeDao.updateById(employee);
 | 
			
		||||
 | 
			
		||||
        // 清除员工缓存
 | 
			
		||||
        loginService.clearLoginEmployeeCache(employeeId);
 | 
			
		||||
 | 
			
		||||
        return ResponseDTO.ok();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 检查唯一性
 | 
			
		||||
     */
 | 
			
		||||
    private ResponseDTO<String> checkUniqueness(Long employeeId, String loginName, String phone, String email) {
 | 
			
		||||
        EmployeeEntity existEntity = employeeDao.getByLoginName(loginName, null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("登录名重复");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        existEntity = employeeDao.getByPhone(phone, null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("手机号已存在");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        existEntity = employeeDao.getByEmail(email, null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("邮箱账号已存在");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return ResponseDTO.ok();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新登录人头像
 | 
			
		||||
 
 | 
			
		||||
@@ -46,6 +46,12 @@ public class RequestEmployee implements RequestUser {
 | 
			
		||||
    @Schema(description = "部门名称")
 | 
			
		||||
    private String departmentName;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "职务级别ID")
 | 
			
		||||
    private Long positionId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "邮箱")
 | 
			
		||||
    private String email;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "是否禁用")
 | 
			
		||||
    private Boolean disabledFlag;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -33,14 +33,12 @@
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <update id="updateDisableFlag">
 | 
			
		||||
        UPDATE t_employee
 | 
			
		||||
        SET disabled_flag = #{disabledFlag}
 | 
			
		||||
        WHERE employee_id = #{employeeId}
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="getByLoginName" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
@@ -63,7 +61,6 @@
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="getByPhone" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
@@ -75,6 +72,16 @@
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="getByEmail" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            email = #{email}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="listAll" resultType="net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO">
 | 
			
		||||
        SELECT *
 | 
			
		||||
@@ -88,9 +95,7 @@
 | 
			
		||||
        department_id = #{departmentId} AND deleted_flag = #{deletedFlag}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="selectByDepartmentId"
 | 
			
		||||
            resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
    <select id="selectByDepartmentId" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
@@ -102,8 +107,7 @@
 | 
			
		||||
        ORDER BY create_time DESC
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="selectByActualName"
 | 
			
		||||
            resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
    <select id="selectByActualName" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT * FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            actual_name = #{actualName}
 | 
			
		||||
@@ -132,7 +136,6 @@
 | 
			
		||||
        ORDER BY create_time DESC
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="getEmployeeId" resultType="java.lang.Long">
 | 
			
		||||
        SELECT employee_id
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
@@ -164,7 +167,6 @@
 | 
			
		||||
        ORDER BY create_time DESC
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="getEmployeeById" resultType="net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO">
 | 
			
		||||
        SELECT t_employee.*,
 | 
			
		||||
               t_department.name AS departmentName
 | 
			
		||||
@@ -173,8 +175,7 @@
 | 
			
		||||
        where t_employee.employee_id = #{employeeId}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="selectEmployeeByDisabledAndDeleted"
 | 
			
		||||
            resultType="net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO">
 | 
			
		||||
    <select id="selectEmployeeByDisabledAndDeleted" resultType="net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO">
 | 
			
		||||
        SELECT
 | 
			
		||||
        t_employee.*,
 | 
			
		||||
        t_department.name AS departmentName
 | 
			
		||||
@@ -196,5 +197,4 @@
 | 
			
		||||
        WHERE employee_id = #{employeeId}
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
package net.lab1024.sa.admin.module.system.employee.controller;
 | 
			
		||||
 | 
			
		||||
import cn.dev33.satoken.annotation.SaCheckPermission;
 | 
			
		||||
import io.swagger.v3.oas.annotations.tags.Tag;
 | 
			
		||||
import io.swagger.v3.oas.annotations.Operation;
 | 
			
		||||
import io.swagger.v3.oas.annotations.tags.Tag;
 | 
			
		||||
import net.lab1024.sa.admin.constant.AdminSwaggerTagConst;
 | 
			
		||||
import net.lab1024.sa.admin.module.system.employee.domain.form.*;
 | 
			
		||||
import net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO;
 | 
			
		||||
@@ -57,11 +57,11 @@ public class EmployeeController {
 | 
			
		||||
        return employeeService.updateEmployee(employeeUpdateForm);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "更新登录人信息 @author 善逸")
 | 
			
		||||
    @PostMapping("/employee/update/login")
 | 
			
		||||
    public ResponseDTO<String> updateByLogin(@Valid @RequestBody EmployeeUpdateForm employeeUpdateForm) {
 | 
			
		||||
        employeeUpdateForm.setEmployeeId(SmartRequestUtil.getRequestUserId());
 | 
			
		||||
        return employeeService.updateEmployee(employeeUpdateForm);
 | 
			
		||||
    @Operation(summary = "更新员工个人中心信息 @author 善逸")
 | 
			
		||||
    @PostMapping("/employee/update/center")
 | 
			
		||||
    public ResponseDTO<String> updateCenter(@Valid @RequestBody EmployeeUpdateCenterForm updateCenterForm) {
 | 
			
		||||
        updateCenterForm.setEmployeeId(SmartRequestUtil.getRequestUserId());
 | 
			
		||||
        return employeeService.updateCenter(updateCenterForm);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Operation(summary = "更新登录人头像 @author 善逸")
 | 
			
		||||
 
 | 
			
		||||
@@ -34,31 +34,30 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
 | 
			
		||||
     */
 | 
			
		||||
    List<EmployeeVO> selectEmployeeByDisabledAndDeleted(@Param("disabledFlag") Boolean disabledFlag, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新单个
 | 
			
		||||
     */
 | 
			
		||||
    void updateDisableFlag(@Param("employeeId") Long employeeId, @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 通过登录名查询
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeEntity getByLoginName(@Param("loginName") String loginName,
 | 
			
		||||
                                  @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
 | 
			
		||||
    EmployeeEntity getByLoginName(@Param("loginName") String loginName, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 通过姓名查询
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeEntity getByActualName(@Param("actualName") String actualName,
 | 
			
		||||
                                   @Param("disabledFlag") Boolean disabledFlag
 | 
			
		||||
    );
 | 
			
		||||
    EmployeeEntity getByActualName(@Param("actualName") String actualName, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 通过手机号查询
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeEntity getByPhone(@Param("phone") String phone, @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
    EmployeeEntity getByPhone(@Param("phone") String phone, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 通过邮箱账号查询
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeEntity getByEmail(@Param("email") String email, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取所有员工
 | 
			
		||||
@@ -67,7 +66,6 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取某个部门员工数
 | 
			
		||||
     *
 | 
			
		||||
     */
 | 
			
		||||
    Integer countByDepartmentId(@Param("departmentId") Long departmentId, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
@@ -76,39 +74,35 @@ public interface EmployeeDao extends BaseMapper<EmployeeEntity> {
 | 
			
		||||
     */
 | 
			
		||||
    List<EmployeeVO> getEmployeeByIds(@Param("employeeIds") Collection<Long> employeeIds);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询单个员工信息
 | 
			
		||||
     */
 | 
			
		||||
    EmployeeVO getEmployeeById(@Param("employeeId") Long employeeId);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取某个部门的员工
 | 
			
		||||
     */
 | 
			
		||||
    List<EmployeeEntity> selectByDepartmentId(@Param("departmentId") Long departmentId, @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
 | 
			
		||||
    List<EmployeeEntity> selectByDepartmentId(@Param("departmentId") Long departmentId, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询某些部门下用户名是xxx的员工
 | 
			
		||||
     */
 | 
			
		||||
    List<EmployeeEntity> selectByActualName(@Param("departmentIdList") List<Long> departmentIdList, @Param("actualName") String actualName, @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
 | 
			
		||||
    List<EmployeeEntity> selectByActualName(@Param("departmentIdList") List<Long> departmentIdList, @Param("actualName") String actualName, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取某批部门的员工Id
 | 
			
		||||
     */
 | 
			
		||||
    List<Long> getEmployeeIdByDepartmentIdList(@Param("departmentIds") List<Long> departmentIds, @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
    List<Long> getEmployeeIdByDepartmentIdList(@Param("departmentIds") List<Long> departmentIds, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取所有
 | 
			
		||||
     */
 | 
			
		||||
    List<Long> getEmployeeId(@Param("leaveFlag") Boolean leaveFlag, @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
    List<Long> getEmployeeId(@Param("leaveFlag") Boolean leaveFlag, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 获取某个部门的员工Id
 | 
			
		||||
     */
 | 
			
		||||
    List<Long> getEmployeeIdByDepartmentId(@Param("departmentId") Long departmentId, @Param("disabledFlag") Boolean disabledFlag);
 | 
			
		||||
    List<Long> getEmployeeIdByDepartmentId(@Param("departmentId") Long departmentId, @Param("deletedFlag") Boolean deletedFlag);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 员工重置密码
 | 
			
		||||
 
 | 
			
		||||
@@ -4,9 +4,9 @@ import io.swagger.v3.oas.annotations.media.Schema;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import net.lab1024.sa.base.common.enumeration.GenderEnum;
 | 
			
		||||
import net.lab1024.sa.base.common.swagger.SchemaEnum;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartVerificationUtil;
 | 
			
		||||
import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
 | 
			
		||||
import org.hibernate.validator.constraints.Length;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartVerificationUtil;
 | 
			
		||||
 | 
			
		||||
import javax.validation.constraints.NotNull;
 | 
			
		||||
import javax.validation.constraints.Pattern;
 | 
			
		||||
@@ -51,17 +51,19 @@ public class EmployeeAddForm {
 | 
			
		||||
    @Pattern(regexp = SmartVerificationUtil.PHONE_REGEXP, message = "手机号格式不正确")
 | 
			
		||||
    private String phone;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "邮箱")
 | 
			
		||||
    @Schema(description = "邮箱账号")
 | 
			
		||||
    @NotNull(message = "邮箱账号不能为空")
 | 
			
		||||
    @Pattern(regexp = SmartVerificationUtil.EMAIL, message = "邮箱账号格式不正确")
 | 
			
		||||
    private String email;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "职务级别ID")
 | 
			
		||||
    private Long positionId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "角色列表")
 | 
			
		||||
    private List<Long> roleIdList;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "备注")
 | 
			
		||||
    @Length(max = 30, message = "备注最多200字符")
 | 
			
		||||
    @Length(max = 200, message = "备注最多200字符")
 | 
			
		||||
    private String remark;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "职务级别ID")
 | 
			
		||||
    private Long positionId;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,58 @@
 | 
			
		||||
package net.lab1024.sa.admin.module.system.employee.domain.form;
 | 
			
		||||
 | 
			
		||||
import io.swagger.v3.oas.annotations.media.Schema;
 | 
			
		||||
import lombok.Data;
 | 
			
		||||
import net.lab1024.sa.base.common.enumeration.GenderEnum;
 | 
			
		||||
import net.lab1024.sa.base.common.swagger.SchemaEnum;
 | 
			
		||||
import net.lab1024.sa.base.common.util.SmartVerificationUtil;
 | 
			
		||||
import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;
 | 
			
		||||
import org.hibernate.validator.constraints.Length;
 | 
			
		||||
 | 
			
		||||
import javax.validation.constraints.NotNull;
 | 
			
		||||
import javax.validation.constraints.Pattern;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 更新员工个人中心信息
 | 
			
		||||
 *
 | 
			
		||||
 * @Author 1024创新实验室: 开云
 | 
			
		||||
 * @Date 2021-12-20 21:06:49
 | 
			
		||||
 * @Wechat zhuoda1024
 | 
			
		||||
 * @Email lab1024@163.com
 | 
			
		||||
 * @Copyright <a href="https://1024lab.net">1024创新实验室</a>
 | 
			
		||||
 */
 | 
			
		||||
@Data
 | 
			
		||||
public class EmployeeUpdateCenterForm {
 | 
			
		||||
 | 
			
		||||
    @Schema(hidden = true)
 | 
			
		||||
    private Long employeeId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "姓名")
 | 
			
		||||
    @NotNull(message = "姓名不能为空")
 | 
			
		||||
    @Length(max = 30, message = "姓名最多30字符")
 | 
			
		||||
    private String actualName;
 | 
			
		||||
 | 
			
		||||
    @SchemaEnum(GenderEnum.class)
 | 
			
		||||
    @CheckEnum(value = GenderEnum.class, message = "性别错误")
 | 
			
		||||
    private Integer gender;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "手机号")
 | 
			
		||||
    @NotNull(message = "手机号不能为空")
 | 
			
		||||
    @Pattern(regexp = SmartVerificationUtil.PHONE_REGEXP, message = "手机号格式不正确")
 | 
			
		||||
    private String phone;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "邮箱账号")
 | 
			
		||||
    @NotNull(message = "邮箱账号不能为空")
 | 
			
		||||
    @Pattern(regexp = SmartVerificationUtil.EMAIL, message = "邮箱账号格式不正确")
 | 
			
		||||
    private String email;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "职务级别ID")
 | 
			
		||||
    private Long positionId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "头像")
 | 
			
		||||
    private String avatar;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "备注")
 | 
			
		||||
    @Length(max = 200, message = "备注最多200字符")
 | 
			
		||||
    private String remark;
 | 
			
		||||
}
 | 
			
		||||
@@ -168,19 +168,14 @@ public class EmployeeService {
 | 
			
		||||
            return ResponseDTO.userErrorParam("部门不存在");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        EmployeeEntity existEntity = employeeDao.getByLoginName(employeeUpdateForm.getLoginName(), null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("登录名重复");
 | 
			
		||||
        // 检查唯一性
 | 
			
		||||
        ResponseDTO<String> checkResponse = checkUniqueness(employeeId, employeeUpdateForm.getLoginName(), employeeUpdateForm.getPhone(), employeeUpdateForm.getEmail());
 | 
			
		||||
        if (!checkResponse.getOk()) {
 | 
			
		||||
            return checkResponse;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        existEntity = employeeDao.getByPhone(employeeUpdateForm.getPhone(), null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("手机号已存在");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 不更新密码
 | 
			
		||||
        EmployeeEntity entity = SmartBeanUtil.copy(employeeUpdateForm, EmployeeEntity.class);
 | 
			
		||||
        // 不更新密码
 | 
			
		||||
        entity.setLoginPwd(null);
 | 
			
		||||
 | 
			
		||||
        // 更新数据
 | 
			
		||||
@@ -192,6 +187,57 @@ public class EmployeeService {
 | 
			
		||||
        return ResponseDTO.ok();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新员工个人中心信息
 | 
			
		||||
     */
 | 
			
		||||
    public ResponseDTO<String> updateCenter(EmployeeUpdateCenterForm updateCenterForm) {
 | 
			
		||||
 | 
			
		||||
        Long employeeId = updateCenterForm.getEmployeeId();
 | 
			
		||||
        EmployeeEntity employeeEntity = employeeDao.selectById(employeeId);
 | 
			
		||||
        if (null == employeeEntity) {
 | 
			
		||||
            return ResponseDTO.error(UserErrorCode.DATA_NOT_EXIST);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // 检查唯一性 登录账号不能修改则不需要检查
 | 
			
		||||
        ResponseDTO<String> checkResponse = checkUniqueness(employeeId, "", updateCenterForm.getPhone(), updateCenterForm.getEmail());
 | 
			
		||||
        if (!checkResponse.getOk()) {
 | 
			
		||||
            return checkResponse;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        EmployeeEntity employee = SmartBeanUtil.copy(updateCenterForm, EmployeeEntity.class);
 | 
			
		||||
        // 不更新密码
 | 
			
		||||
        employee.setLoginPwd(null);
 | 
			
		||||
 | 
			
		||||
        // 更新数据
 | 
			
		||||
        employeeDao.updateById(employee);
 | 
			
		||||
 | 
			
		||||
        // 清除员工缓存
 | 
			
		||||
        loginService.clearLoginEmployeeCache(employeeId);
 | 
			
		||||
 | 
			
		||||
        return ResponseDTO.ok();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 检查唯一性
 | 
			
		||||
     */
 | 
			
		||||
    private ResponseDTO<String> checkUniqueness(Long employeeId, String loginName, String phone, String email) {
 | 
			
		||||
        EmployeeEntity existEntity = employeeDao.getByLoginName(loginName, null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("登录名重复");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        existEntity = employeeDao.getByPhone(phone, null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("手机号已存在");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        existEntity = employeeDao.getByEmail(email, null);
 | 
			
		||||
        if (null != existEntity && !Objects.equals(existEntity.getEmployeeId(), employeeId)) {
 | 
			
		||||
            return ResponseDTO.userErrorParam("邮箱账号已存在");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return ResponseDTO.ok();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新登录人头像
 | 
			
		||||
 
 | 
			
		||||
@@ -46,6 +46,12 @@ public class RequestEmployee implements RequestUser {
 | 
			
		||||
    @Schema(description = "部门名称")
 | 
			
		||||
    private String departmentName;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "职务级别ID")
 | 
			
		||||
    private Long positionId;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "邮箱")
 | 
			
		||||
    private String email;
 | 
			
		||||
 | 
			
		||||
    @Schema(description = "是否禁用")
 | 
			
		||||
    private Boolean disabledFlag;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -33,21 +33,19 @@
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <update id="updateDisableFlag">
 | 
			
		||||
        UPDATE t_employee
 | 
			
		||||
        SET disabled_flag = #{disabledFlag}
 | 
			
		||||
        WHERE employee_id = #{employeeId}
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="getByLoginName" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            login_name = #{loginName}
 | 
			
		||||
            <if test="disabledFlag != null">
 | 
			
		||||
                AND disabled_flag = #{disabledFlag}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
@@ -57,24 +55,33 @@
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            actual_name = #{actualName}
 | 
			
		||||
            <if test="disabledFlag != null">
 | 
			
		||||
                AND disabled_flag = #{disabledFlag}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="getByPhone" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            phone = #{phone}
 | 
			
		||||
            <if test="disabledFlag != null">
 | 
			
		||||
                AND disabled_flag = #{disabledFlag}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="getByEmail" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            email = #{email}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="listAll" resultType="net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO">
 | 
			
		||||
        SELECT *
 | 
			
		||||
@@ -88,22 +95,19 @@
 | 
			
		||||
        department_id = #{departmentId} AND deleted_flag = #{deletedFlag}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="selectByDepartmentId"
 | 
			
		||||
            resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
    <select id="selectByDepartmentId" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT *
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            department_id = #{departmentId}
 | 
			
		||||
            <if test="disabledFlag != null">
 | 
			
		||||
                AND disabled_flag = #{disabledFlag}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
        ORDER BY create_time DESC
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="selectByActualName"
 | 
			
		||||
            resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
    <select id="selectByActualName" resultType="net.lab1024.sa.admin.module.system.employee.domain.entity.EmployeeEntity">
 | 
			
		||||
        SELECT * FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            actual_name = #{actualName}
 | 
			
		||||
@@ -111,8 +115,8 @@
 | 
			
		||||
            <foreach collection="departmentIdList" item="item" open="(" close=")" separator=",">
 | 
			
		||||
                #{item}
 | 
			
		||||
            </foreach>
 | 
			
		||||
            <if test="disabledFlag != null">
 | 
			
		||||
                AND disabled_flag = #{disabledFlag}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
@@ -125,20 +129,19 @@
 | 
			
		||||
            <foreach collection="departmentIds" item="item" open="(" close=")" separator=",">
 | 
			
		||||
                #{item}
 | 
			
		||||
            </foreach>
 | 
			
		||||
            <if test="disabledFlag != null">
 | 
			
		||||
                AND disabled_flag = #{disabledFlag}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
        ORDER BY create_time DESC
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="getEmployeeId" resultType="java.lang.Long">
 | 
			
		||||
        SELECT employee_id
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            <if test="disabledFlag != null">
 | 
			
		||||
                AND disabled_flag = #{disabledFlag}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
    </select>
 | 
			
		||||
@@ -148,8 +151,8 @@
 | 
			
		||||
        FROM t_employee
 | 
			
		||||
        <where>
 | 
			
		||||
            department_id = #{departmentId}
 | 
			
		||||
            <if test="disabledFlag != null">
 | 
			
		||||
                AND disabled_flag = #{disabledFlag}
 | 
			
		||||
            <if test="deletedFlag != null">
 | 
			
		||||
                AND deleted_flag = #{deletedFlag}
 | 
			
		||||
            </if>
 | 
			
		||||
        </where>
 | 
			
		||||
        ORDER BY create_time DESC
 | 
			
		||||
@@ -164,7 +167,6 @@
 | 
			
		||||
        ORDER BY create_time DESC
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    <select id="getEmployeeById" resultType="net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO">
 | 
			
		||||
        SELECT t_employee.*,
 | 
			
		||||
               t_department.name AS departmentName
 | 
			
		||||
@@ -173,8 +175,7 @@
 | 
			
		||||
        where t_employee.employee_id = #{employeeId}
 | 
			
		||||
    </select>
 | 
			
		||||
 | 
			
		||||
    <select id="selectEmployeeByDisabledAndDeleted"
 | 
			
		||||
            resultType="net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO">
 | 
			
		||||
    <select id="selectEmployeeByDisabledAndDeleted" resultType="net.lab1024.sa.admin.module.system.employee.domain.vo.EmployeeVO">
 | 
			
		||||
        SELECT
 | 
			
		||||
        t_employee.*,
 | 
			
		||||
        t_department.name AS departmentName
 | 
			
		||||
@@ -196,5 +197,4 @@
 | 
			
		||||
        WHERE employee_id = #{employeeId}
 | 
			
		||||
    </update>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</mapper>
 | 
			
		||||
@@ -36,10 +36,10 @@ export const employeeApi = {
 | 
			
		||||
    return postRequest('/employee/update', params);
 | 
			
		||||
  },
 | 
			
		||||
  /**
 | 
			
		||||
   * 更新登录人信息
 | 
			
		||||
   * 更新员工个人中心信息
 | 
			
		||||
   */
 | 
			
		||||
  updateByLogin: (params) => {
 | 
			
		||||
    return postRequest('/employee/update/login', params);
 | 
			
		||||
  updateCenter: (params) => {
 | 
			
		||||
    return postRequest('/employee/update/center', params);
 | 
			
		||||
  },
 | 
			
		||||
  /**
 | 
			
		||||
   * 更新登录人头像
 | 
			
		||||
@@ -77,21 +77,18 @@ export const employeeApi = {
 | 
			
		||||
  updateEmployeePassword: (param) => {
 | 
			
		||||
    return postEncryptRequest('/employee/update/password', param);
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 获取密码复杂度
 | 
			
		||||
   */
 | 
			
		||||
  getPasswordComplexityEnabled: () => {
 | 
			
		||||
    return getRequest('/employee/getPasswordComplexityEnabled');
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 更新员工禁用状态
 | 
			
		||||
   */
 | 
			
		||||
  updateDisabled: (employeeId) => {
 | 
			
		||||
    return getRequest(`/employee/update/disabled/${employeeId}`);
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 查询员工-根据部门id
 | 
			
		||||
   */
 | 
			
		||||
 
 | 
			
		||||
@@ -73,7 +73,7 @@ export const useUserStore = defineStore({
 | 
			
		||||
      }
 | 
			
		||||
      return localRead(localKey.USER_TOKEN);
 | 
			
		||||
    },
 | 
			
		||||
    getNeedUpdatePwdFlag(state){
 | 
			
		||||
    getNeedUpdatePwdFlag(state) {
 | 
			
		||||
      return state.needUpdatePwdFlag;
 | 
			
		||||
    },
 | 
			
		||||
    //是否初始化了 路由
 | 
			
		||||
@@ -206,7 +206,7 @@ export const useUserStore = defineStore({
 | 
			
		||||
          // @ts-ignore
 | 
			
		||||
          menuTitle: route.meta.title,
 | 
			
		||||
          menuQuery: route.query,
 | 
			
		||||
          menuIcon:route.meta?.icon, 
 | 
			
		||||
          menuIcon: route.meta?.icon,
 | 
			
		||||
          // @ts-ignore
 | 
			
		||||
          fromMenuName: from.name,
 | 
			
		||||
          fromMenuQuery: from.query,
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,16 @@
 | 
			
		||||
            <a-form-item label="登录账号" name="loginName">
 | 
			
		||||
              <a-input class="form-item" v-model:value.trim="form.loginName" placeholder="请输入登录账号" disabled />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="部门" name="departmentId">
 | 
			
		||||
              <DepartmentTreeSelect
 | 
			
		||||
                class="form-item"
 | 
			
		||||
                ref="departmentTreeSelect"
 | 
			
		||||
                width="100%"
 | 
			
		||||
                :init="false"
 | 
			
		||||
                v-model:value="form.departmentId"
 | 
			
		||||
                disabled
 | 
			
		||||
              />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="员工名称" name="actualName">
 | 
			
		||||
              <a-input class="form-item" v-model:value.trim="form.actualName" placeholder="请输入员工名称" />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
@@ -20,8 +30,11 @@
 | 
			
		||||
            <a-form-item label="手机号码" name="phone">
 | 
			
		||||
              <a-input class="form-item" v-model:value.trim="form.phone" placeholder="请输入手机号码" />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="部门" name="departmentId">
 | 
			
		||||
              <DepartmentTreeSelect class="form-item" ref="departmentTreeSelect" width="100%" :init="false" v-model:value="form.departmentId" />
 | 
			
		||||
            <a-form-item label="邮箱" name="email">
 | 
			
		||||
              <a-input v-model:value.trim="form.email" placeholder="请输入邮箱" />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="职务" name="positionId">
 | 
			
		||||
              <PositionSelect v-model:value="form.positionId" placeholder="请选择职务" />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="备注" name="remark">
 | 
			
		||||
              <a-textarea class="form-item" v-model:value="form.remark" placeholder="请输入备注" :rows="4" />
 | 
			
		||||
@@ -65,6 +78,7 @@
 | 
			
		||||
  import { onMounted, reactive, ref } from 'vue';
 | 
			
		||||
  import { regular } from '/@/constants/regular-const.js';
 | 
			
		||||
  import DepartmentTreeSelect from '/@/components/system/department-tree-select/index.vue';
 | 
			
		||||
  import PositionSelect from '/@/components/system/position-select/index.vue';
 | 
			
		||||
  import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';
 | 
			
		||||
  import { loginApi } from '/@/api/system/login-api.js';
 | 
			
		||||
  import { useUserStore } from '/@/store/modules/system/user.js';
 | 
			
		||||
@@ -93,10 +107,12 @@
 | 
			
		||||
    phone: '',
 | 
			
		||||
    // 部门id
 | 
			
		||||
    departmentId: undefined,
 | 
			
		||||
    // 是否启用
 | 
			
		||||
    disabledFlag: undefined,
 | 
			
		||||
    // 邮箱
 | 
			
		||||
    email: undefined,
 | 
			
		||||
    // 职务级别
 | 
			
		||||
    positionId: undefined,
 | 
			
		||||
    // 是否禁用
 | 
			
		||||
    disabledFlag: undefined,
 | 
			
		||||
    // 备注
 | 
			
		||||
    remark: '',
 | 
			
		||||
  };
 | 
			
		||||
@@ -111,7 +127,7 @@
 | 
			
		||||
      { pattern: regular.phone, message: '请输入正确的手机号码', trigger: 'blur' },
 | 
			
		||||
    ],
 | 
			
		||||
    gender: [{ required: true, message: '性别不能为空' }],
 | 
			
		||||
    departmentId: [{ required: true, message: '部门不能为空' }],
 | 
			
		||||
    email: [{ required: true, message: '请输入邮箱' }],
 | 
			
		||||
  };
 | 
			
		||||
  // 头像地址
 | 
			
		||||
  let avatarUrl = ref();
 | 
			
		||||
@@ -128,12 +144,13 @@
 | 
			
		||||
      form.employeeId = data.employeeId;
 | 
			
		||||
      form.loginName = data.loginName;
 | 
			
		||||
      form.actualName = data.actualName;
 | 
			
		||||
      form.email = data.email;
 | 
			
		||||
      form.gender = data.gender;
 | 
			
		||||
      form.phone = data.phone;
 | 
			
		||||
      form.departmentId = data.departmentId;
 | 
			
		||||
      form.disabledFlag = data.disabledFlag;
 | 
			
		||||
      form.email = data.email;
 | 
			
		||||
      form.positionId = data.positionId;
 | 
			
		||||
      form.remark = data.remark;
 | 
			
		||||
      form.disabledFlag = data.disabledFlag;
 | 
			
		||||
      // 头像展示
 | 
			
		||||
      avatarUrl.value = data.avatar;
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
@@ -187,7 +204,7 @@
 | 
			
		||||
  async function updateEmployee() {
 | 
			
		||||
    SmartLoading.show();
 | 
			
		||||
    try {
 | 
			
		||||
      await employeeApi.updateByLogin(form);
 | 
			
		||||
      await employeeApi.updateCenter(form);
 | 
			
		||||
      message.success('更新成功');
 | 
			
		||||
      // 重新获取详情,刷新整体缓存
 | 
			
		||||
      await getLoginInfo();
 | 
			
		||||
 
 | 
			
		||||
@@ -119,6 +119,7 @@
 | 
			
		||||
    phone: undefined,
 | 
			
		||||
    roleIdList: undefined,
 | 
			
		||||
    positionId: undefined,
 | 
			
		||||
    email: undefined,
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  let form = reactive(_.cloneDeep(formDefault));
 | 
			
		||||
 
 | 
			
		||||
@@ -36,10 +36,10 @@ export const employeeApi = {
 | 
			
		||||
    return postRequest('/employee/update', params);
 | 
			
		||||
  },
 | 
			
		||||
  /**
 | 
			
		||||
   * 更新登录人信息
 | 
			
		||||
   * 更新员工个人中心信息
 | 
			
		||||
   */
 | 
			
		||||
  updateByLogin: (params) => {
 | 
			
		||||
    return postRequest('/employee/update/login', params);
 | 
			
		||||
  updateCenter: (params) => {
 | 
			
		||||
    return postRequest('/employee/update/center', params);
 | 
			
		||||
  },
 | 
			
		||||
  /**
 | 
			
		||||
   * 更新登录人头像
 | 
			
		||||
@@ -77,21 +77,18 @@ export const employeeApi = {
 | 
			
		||||
  updateEmployeePassword: (param) => {
 | 
			
		||||
    return postEncryptRequest('/employee/update/password', param);
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 获取密码复杂度
 | 
			
		||||
   */
 | 
			
		||||
  getPasswordComplexityEnabled: () => {
 | 
			
		||||
    return getRequest('/employee/getPasswordComplexityEnabled');
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 更新员工禁用状态
 | 
			
		||||
   */
 | 
			
		||||
  updateDisabled: (employeeId) => {
 | 
			
		||||
    return getRequest(`/employee/update/disabled/${employeeId}`);
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * 查询员工-根据部门id
 | 
			
		||||
   */
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,9 @@
 | 
			
		||||
            <a-form-item label="登录账号" name="loginName">
 | 
			
		||||
              <a-input class="form-item" v-model:value.trim="form.loginName" placeholder="请输入登录账号" disabled />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="部门" name="departmentId">
 | 
			
		||||
              <DepartmentTreeSelect class="form-item" ref="departmentTreeSelect" width="100%" :init="false" v-model:value="form.departmentId" disabled />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="员工名称" name="actualName">
 | 
			
		||||
              <a-input class="form-item" v-model:value.trim="form.actualName" placeholder="请输入员工名称" />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
@@ -20,8 +23,11 @@
 | 
			
		||||
            <a-form-item label="手机号码" name="phone">
 | 
			
		||||
              <a-input class="form-item" v-model:value.trim="form.phone" placeholder="请输入手机号码" />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="部门" name="departmentId">
 | 
			
		||||
              <DepartmentTreeSelect class="form-item" ref="departmentTreeSelect" width="100%" :init="false" v-model:value="form.departmentId" />
 | 
			
		||||
            <a-form-item label="邮箱" name="email">
 | 
			
		||||
              <a-input v-model:value.trim="form.email" placeholder="请输入邮箱" />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="职务" name="positionId">
 | 
			
		||||
              <PositionSelect v-model:value="form.positionId" placeholder="请选择职务" />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="备注" name="remark">
 | 
			
		||||
              <a-textarea class="form-item" v-model:value="form.remark" placeholder="请输入备注" :rows="4" />
 | 
			
		||||
@@ -65,6 +71,7 @@
 | 
			
		||||
  import { onMounted, reactive, ref } from 'vue';
 | 
			
		||||
  import { regular } from '/@/constants/regular-const.js';
 | 
			
		||||
  import DepartmentTreeSelect from '/@/components/system/department-tree-select/index.vue';
 | 
			
		||||
  import PositionSelect from '/@/components/system/position-select/index.vue';
 | 
			
		||||
  import SmartEnumSelect from '/@/components/framework/smart-enum-select/index.vue';
 | 
			
		||||
  import { loginApi } from '/@/api/system/login-api.js';
 | 
			
		||||
  import { useUserStore } from '/@/store/modules/system/user.js';
 | 
			
		||||
@@ -93,10 +100,12 @@
 | 
			
		||||
    phone: '',
 | 
			
		||||
    // 部门id
 | 
			
		||||
    departmentId: undefined,
 | 
			
		||||
    // 是否启用
 | 
			
		||||
    disabledFlag: undefined,
 | 
			
		||||
    // 邮箱
 | 
			
		||||
    email: undefined,
 | 
			
		||||
    // 职务级别
 | 
			
		||||
    positionId: undefined,
 | 
			
		||||
    // 是否禁用
 | 
			
		||||
    disabledFlag: undefined,
 | 
			
		||||
    // 备注
 | 
			
		||||
    remark: '',
 | 
			
		||||
  };
 | 
			
		||||
@@ -111,7 +120,7 @@
 | 
			
		||||
      { pattern: regular.phone, message: '请输入正确的手机号码', trigger: 'blur' },
 | 
			
		||||
    ],
 | 
			
		||||
    gender: [{ required: true, message: '性别不能为空' }],
 | 
			
		||||
    departmentId: [{ required: true, message: '部门不能为空' }],
 | 
			
		||||
    email: [{ required: true, message: '请输入邮箱' }],
 | 
			
		||||
  };
 | 
			
		||||
  // 头像地址
 | 
			
		||||
  let avatarUrl = ref();
 | 
			
		||||
@@ -128,12 +137,13 @@
 | 
			
		||||
      form.employeeId = data.employeeId;
 | 
			
		||||
      form.loginName = data.loginName;
 | 
			
		||||
      form.actualName = data.actualName;
 | 
			
		||||
      form.email = data.email;
 | 
			
		||||
      form.gender = data.gender;
 | 
			
		||||
      form.phone = data.phone;
 | 
			
		||||
      form.departmentId = data.departmentId;
 | 
			
		||||
      form.disabledFlag = data.disabledFlag;
 | 
			
		||||
      form.email = data.email;
 | 
			
		||||
      form.positionId = data.positionId;
 | 
			
		||||
      form.remark = data.remark;
 | 
			
		||||
      form.disabledFlag = data.disabledFlag;
 | 
			
		||||
      // 头像展示
 | 
			
		||||
      avatarUrl.value = data.avatar;
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
@@ -187,7 +197,7 @@
 | 
			
		||||
  async function updateEmployee() {
 | 
			
		||||
    SmartLoading.show();
 | 
			
		||||
    try {
 | 
			
		||||
      await employeeApi.updateByLogin(form);
 | 
			
		||||
      await employeeApi.updateCenter(form);
 | 
			
		||||
      message.success('更新成功');
 | 
			
		||||
      // 重新获取详情,刷新整体缓存
 | 
			
		||||
      await getLoginInfo();
 | 
			
		||||
 
 | 
			
		||||
@@ -119,6 +119,7 @@
 | 
			
		||||
    phone: undefined,
 | 
			
		||||
    roleIdList: undefined,
 | 
			
		||||
    positionId: undefined,
 | 
			
		||||
    email: undefined,
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  let form = reactive(_.cloneDeep(formDefault));
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user