管理员账号的一些修改

pull/4/head
feng93 2021-03-25 21:14:03 +08:00 committed by fengshuonan
parent e6251043b0
commit 44dcfcdd50
11 changed files with 217 additions and 25 deletions

View File

@ -51,17 +51,22 @@ public class DateValueValidator implements ConstraintValidator<DateValue, String
@Override
public boolean isValid(String dateValue, ConstraintValidatorContext context) {
// 如果是必填的
if (required && StrUtil.isEmpty(dateValue)) {
return false;
if (StrUtil.isEmpty(dateValue)) {
// 校验是不是必填
if (required) {
return false;
} else {
return true;
}
} else {
try {
// 校验日期格式
DateUtil.parse(dateValue, format);
return true;
} catch (Exception e) {
return false;
}
}
try {
// 校验格式
DateUtil.parse(dateValue, format);
return true;
} catch (Exception e) {
return false;
}
}
}

View File

@ -0,0 +1,40 @@
package cn.stylefeng.roses.kernel.validator.api.validators.phone;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
/**
*
*
* @author fengshuonan
* @date 2020/10/31 14:53
*/
@Documented
@Constraint(validatedBy = PhoneValueValidator.class)
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public @interface PhoneValue {
String message() default "手机号码格式不正确";
Class[] groups() default {};
Class<? extends Payload>[] payload() default {};
/**
*
* <p>
*
*/
boolean required() default true;
@Target({ElementType.FIELD, ElementType.PARAMETER})
@Retention(RUNTIME)
@Documented
@interface List {
PhoneValue[] value();
}
}

View File

@ -0,0 +1,36 @@
package cn.stylefeng.roses.kernel.validator.api.validators.phone;
import cn.hutool.core.util.StrUtil;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
/**
* 11
*
* @author fengshuonan
* @date 2020/10/31 14:53
*/
public class PhoneValueValidator implements ConstraintValidator<PhoneValue, String> {
private Boolean required;
@Override
public void initialize(PhoneValue constraintAnnotation) {
this.required = constraintAnnotation.required();
}
@Override
public boolean isValid(String phoneValue, ConstraintValidatorContext context) {
if (StrUtil.isEmpty(phoneValue)) {
if (required) {
return false;
} else {
return true;
}
} else {
return phoneValue.length() == 11;
}
}
}

View File

@ -0,0 +1,11 @@
package cn.stylefeng.roses.kernel.system.api;
/**
* api
*
* @author linjinfeng
* @date 2021/3/24 17:20
*/
public interface PositionServiceApi {
}

View File

@ -0,0 +1,51 @@
package cn.stylefeng.roses.kernel.system.api.pojo.organization;
import lombok.Data;
import java.math.BigDecimal;
/**
*
*
* @author fengshuonan
* @date 2020/11/04 11:05
*/
@Data
public class HrPositionDTO {
/**
*
*/
private Long positionId;
/**
*
*/
private String positionName;
/**
*
*/
private String positionCode;
/**
*
*/
private BigDecimal positionSort;
/**
* 1-2-
*/
private Integer statusFlag;
/**
*
*/
private String positionRemark;
/**
* Y-N-
*/
private String delFlag;
}

View File

@ -26,6 +26,7 @@ package cn.stylefeng.roses.kernel.system.api.pojo.user.request;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.validator.api.validators.date.DateValue;
import cn.stylefeng.roses.kernel.validator.api.validators.phone.PhoneValue;
import cn.stylefeng.roses.kernel.validator.api.validators.status.StatusValue;
import cn.stylefeng.roses.kernel.validator.api.validators.unique.TableUniqueValue;
import lombok.Data;
@ -34,7 +35,6 @@ import lombok.EqualsAndHashCode;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
/**
@ -86,7 +86,6 @@ public class SysUserRequest extends BaseRequest {
/**
*
*/
@NotBlank(message = "姓名不能为空", groups = {add.class, edit.class, updateInfo.class})
private String realName;
/**
@ -98,7 +97,7 @@ public class SysUserRequest extends BaseRequest {
/**
*
*/
@DateValue(message = "生日格式不正确", groups = {add.class, edit.class})
@DateValue(required = false, message = "生日格式不正确", groups = {add.class, edit.class})
private String birthday;
/**
@ -116,8 +115,7 @@ public class SysUserRequest extends BaseRequest {
/**
*
*/
@NotNull(message = "手机号码不能为空", groups = {add.class, edit.class, reg.class})
@Size(min = 11, max = 11, message = "手机号码格式错误不是11位", groups = {add.class, edit.class, reg.class})
@PhoneValue(required = false, message = "手机号码格式错误", groups = {add.class, edit.class, reg.class})
private String phone;
/**
@ -146,7 +144,6 @@ public class SysUserRequest extends BaseRequest {
/**
*
*/
@NotNull(message = "用户职务不能为空", groups = {add.class, edit.class})
private Long positionId;
/**

View File

@ -25,8 +25,9 @@
package cn.stylefeng.roses.kernel.system.modular.organization.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrPosition;
import cn.stylefeng.roses.kernel.system.api.PositionServiceApi;
import cn.stylefeng.roses.kernel.system.api.pojo.organization.HrPositionRequest;
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrPosition;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -37,7 +38,7 @@ import java.util.List;
* @author chenjinlong
* @date 2020/11/04 11:07
*/
public interface HrPositionService extends IService<HrPosition> {
public interface HrPositionService extends IService<HrPosition>, PositionServiceApi {
/**
*

View File

@ -17,9 +17,11 @@
suser.tel as tel,
suser.status_flag as statusFlag,
suorg.org_id as orgId,
suorg.position_id as positionId
suorg.position_id as positionId,
hpos.position_name as positionName
from sys_user suser
left join sys_user_org suorg on suser.user_id = suorg.user_id
left join hr_position hpos on suorg.position_id = hpos.position_id
<where>
<if test="sysUserRequest.realName != null and sysUserRequest.realName != ''">
and suser.real_name like concat('%',#{sysUserRequest.realName},'%')
@ -55,9 +57,11 @@
suser.tel as tel,
suser.status_flag as statusFlag,
suorg.org_id as orgId,
suorg.position_id as positionId
suorg.position_id as positionId,
hpos.position_name as positionName
from sys_user suser
left join sys_user_org suorg on suser.user_id = suorg.user_id
left join hr_position hpos on suorg.position_id = hpos.position_id
<where>
<if test="sysUserRequest.realName != null and sysUserRequest.realName != ''">
and suser.real_name like concat('%',#{sysUserRequest.realName},'%')

View File

@ -25,8 +25,8 @@
package cn.stylefeng.roses.kernel.system.modular.user.service;
import cn.stylefeng.roses.kernel.system.api.UserOrgServiceApi;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg;
import cn.stylefeng.roses.kernel.system.api.pojo.user.request.UserOrgRequest;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -53,7 +53,17 @@ public interface SysUserOrgService extends IService<SysUserOrg>, UserOrgServiceA
*
* @param userId id
* @param orgId id
* @param positionId id
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void add(Long userId, Long orgId);
/**
*
*
* @param userId id
* @param orgId id
* @param positionId id
* @author chenjinlong
* @date 2021/1/26 12:52
*/
@ -91,7 +101,17 @@ public interface SysUserOrgService extends IService<SysUserOrg>, UserOrgServiceA
*
* @param userId id
* @param orgId id
* @param positionId id
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void edit(Long userId, Long orgId);
/**
*
*
* @param userId id
* @param orgId id
* @param positionId id
* @author chenjinlong
* @date 2021/1/26 12:52
*/

View File

@ -72,6 +72,14 @@ public class SysUserOrgServiceServiceImpl extends ServiceImpl<SysUserOrgMapper,
this.save(sysUserOrg);
}
@Override
public void add(Long userId, Long orgId) {
SysUserOrg sysUserOrg = new SysUserOrg();
sysUserOrg.setUserId(userId);
sysUserOrg.setOrgId(orgId);
this.save(sysUserOrg);
}
@Override
public void add(Long userId, Long orgId, Long positionId) {
SysUserOrg sysUserOrg = new SysUserOrg();
@ -101,6 +109,17 @@ public class SysUserOrgServiceServiceImpl extends ServiceImpl<SysUserOrgMapper,
this.updateById(sysUserOrg);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void edit(Long userId, Long orgId) {
// 删除已有绑定的组织机构
this.delByUserId(userId);
// 新增组织机构绑定
this.add(userId, orgId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void edit(Long userId, Long orgId, Long positionId) {

View File

@ -169,7 +169,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
this.save(sysUser);
// 更新用户员工信息
sysUserOrgService.add(sysUser.getUserId(), sysUserRequest.getOrgId(), sysUserRequest.getPositionId());
if (null == sysUserRequest.getPositionId()) {
sysUserOrgService.add(sysUser.getUserId(), sysUserRequest.getOrgId());
}else {
sysUserOrgService.add(sysUser.getUserId(), sysUserRequest.getOrgId(), sysUserRequest.getPositionId());
}
}
@Override
@ -229,7 +233,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
Long sysUserId = sysUser.getUserId();
// 更新用户员工信息
sysUserOrgService.edit(sysUserId, sysUserRequest.getOrgId(), sysUserRequest.getPositionId());
if (null == sysUserRequest.getPositionId()) {
sysUserOrgService.edit(sysUser.getUserId(), sysUserRequest.getOrgId());
}else {
sysUserOrgService.edit(sysUser.getUserId(), sysUserRequest.getOrgId(), sysUserRequest.getPositionId());
}
// 清除缓存中的用户信息
sysUserCacheOperatorApi.remove(String.valueOf(sysUserId));