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