1、优化与完善个人中心的资料更新;2、修改员工DAO层的方法参数

This commit is contained in:
zhoumingfa 2025-02-21 16:17:44 +08:00
parent a100b1ab12
commit 81b7b2a3a4
21 changed files with 378 additions and 141 deletions

View File

@ -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 善逸")

View File

@ -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
*/

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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();
}
/**
* 更新登录人头像

View File

@ -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;

View File

@ -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>

View File

@ -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 善逸")

View File

@ -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);
/**
* 员工重置密码

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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();
}
/**
* 更新登录人头像

View File

@ -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;

View File

@ -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>

View File

@ -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
*/

View File

@ -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,

View File

@ -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();

View File

@ -119,6 +119,7 @@
phone: undefined,
roleIdList: undefined,
positionId: undefined,
email: undefined,
};
let form = reactive(_.cloneDeep(formDefault));

View File

@ -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
*/

View File

@ -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();

View File

@ -119,6 +119,7 @@
phone: undefined,
roleIdList: undefined,
positionId: undefined,
email: undefined,
};
let form = reactive(_.cloneDeep(formDefault));