das接口新增

This commit is contained in:
chenhaojie 2024-06-27 15:01:29 +08:00
parent 56aa7d0735
commit ecf094f70e
16 changed files with 81 additions and 1 deletions

View File

@ -6,6 +6,7 @@ import com.das.common.captcha.CaptchaUtils;
import com.das.common.captcha.CaptchaVO; import com.das.common.captcha.CaptchaVO;
import com.das.common.result.R; import com.das.common.result.R;
import com.das.common.utils.AdminRedisTemplate; import com.das.common.utils.AdminRedisTemplate;
import com.das.modules.auth.domain.dto.ChangePasswordDto;
import com.das.modules.auth.domain.dto.LoginDto; import com.das.modules.auth.domain.dto.LoginDto;
import com.das.modules.auth.domain.dto.RefreshTokenDto; import com.das.modules.auth.domain.dto.RefreshTokenDto;
import com.das.modules.auth.domain.vo.LoginUserDetailsVo; import com.das.modules.auth.domain.vo.LoginUserDetailsVo;
@ -77,5 +78,13 @@ public class LoginController {
return R.success(loginVO); return R.success(loginVO);
} }
@PostMapping("/changePassword")
public R<?> changePassword(@RequestBody ChangePasswordDto changePasswordDto) {
int result = loginService.changePassword(changePasswordDto);
if (result < 0) {
return R.fail("密码修改失败");
}
return R.success("密码修改成功");
}
} }

View File

@ -0,0 +1,14 @@
package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
@Data
public class ChangePasswordDto {
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
private String newPassword;
}

View File

@ -1,5 +1,7 @@
package com.das.modules.auth.domain.dto; package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -7,5 +9,6 @@ import java.io.Serializable;
@Data @Data
public class DeleteDto implements Serializable { public class DeleteDto implements Serializable {
/** ID */ /** ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
} }

View File

@ -1,5 +1,7 @@
package com.das.modules.auth.domain.dto; package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -8,6 +10,7 @@ import java.util.Date;
@Data @Data
public class SysAuthorityDto implements Serializable { public class SysAuthorityDto implements Serializable {
/** 机构id */ /** 机构id */
@JsonSerialize(using = ToStringSerializer.class)
private Long id ; private Long id ;
/** 权限编码 */ /** 权限编码 */
private String authorityCode; private String authorityCode;

View File

@ -1,5 +1,7 @@
package com.das.modules.auth.domain.dto; package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -8,6 +10,7 @@ import java.util.Date;
@Data @Data
public class SysMenuDto implements Serializable { public class SysMenuDto implements Serializable {
/** 菜单ID */ /** 菜单ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long id ; private Long id ;
/** 菜单名称 */ /** 菜单名称 */
private String menuName ; private String menuName ;
@ -20,8 +23,10 @@ public class SysMenuDto implements Serializable {
/** 菜单操作参数 */ /** 菜单操作参数 */
private String funParam ; private String funParam ;
/** 权限ID */ /** 权限ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long authorityId ; private Long authorityId ;
/** 上级菜单ID */ /** 上级菜单ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long parentMenuId ; private Long parentMenuId ;
/** 乐观锁 */ /** 乐观锁 */
private Integer revision ; private Integer revision ;

View File

@ -1,5 +1,7 @@
package com.das.modules.auth.domain.dto; package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -7,11 +9,13 @@ import java.io.Serializable;
@Data @Data
public class SysMenuQueryDto implements Serializable { public class SysMenuQueryDto implements Serializable {
/** 菜单ID */ /** 菜单ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long id ; private Long id ;
/** 菜单名称 */ /** 菜单名称 */
private String menuName ; private String menuName ;
/** 上级菜单ID */ /** 上级菜单ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long parentMenuId ; private Long parentMenuId ;
/** 是否是首次查询菜单 */ /** 是否是首次查询菜单 */

View File

@ -1,5 +1,7 @@
package com.das.modules.auth.domain.dto; package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -8,6 +10,7 @@ import java.util.Date;
@Data @Data
public class SysOrgDto implements Serializable { public class SysOrgDto implements Serializable {
/** 机构id */ /** 机构id */
@JsonSerialize(using = ToStringSerializer.class)
private Long id ; private Long id ;
/** 机构名称 */ /** 机构名称 */
private String name ; private String name ;
@ -28,6 +31,7 @@ public class SysOrgDto implements Serializable {
/** 机构简称 */ /** 机构简称 */
private String aliasName; private String aliasName;
/** 上级组织机构id */ /** 上级组织机构id */
@JsonSerialize(using = ToStringSerializer.class)
private Long parentOrgId ; private Long parentOrgId ;
/** 乐观锁 */ /** 乐观锁 */
private Integer revision ; private Integer revision ;

View File

@ -1,5 +1,7 @@
package com.das.modules.auth.domain.dto; package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -14,6 +16,8 @@ public class SysOrgQueryDto implements Serializable {
private String city ; private String city ;
/** 区县 */ /** 区县 */
private String county ; private String county ;
@JsonSerialize(using = ToStringSerializer.class)
private Long parentOrgId ; private Long parentOrgId ;
/** 是否是首次查询机构 */ /** 是否是首次查询机构 */
private Boolean recursive; private Boolean recursive;

View File

@ -1,5 +1,7 @@
package com.das.modules.auth.domain.dto; package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -8,6 +10,7 @@ import java.util.List;
@Data @Data
public class SysRoleDto implements Serializable { public class SysRoleDto implements Serializable {
/** 主键id */ /** 主键id */
@JsonSerialize(using = ToStringSerializer.class)
private Long id ; private Long id ;
/** 角色名称 */ /** 角色名称 */
private String roleName ; private String roleName ;

View File

@ -38,6 +38,7 @@ public class SysUserDto implements Serializable {
/** /**
* 所属机构id * 所属机构id
*/ */
@JsonSerialize(using = ToStringSerializer.class)
private Long orgId; private Long orgId;
/** /**
* 最后登录时间 * 最后登录时间

View File

@ -1,5 +1,7 @@
package com.das.modules.auth.domain.dto; package com.das.modules.auth.domain.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -9,5 +11,6 @@ public class SysUserQueryDto implements Serializable {
/** 职员名称 */ /** 职员名称 */
private String userName ; private String userName ;
/** 组织机构id */ /** 组织机构id */
@JsonSerialize(using = ToStringSerializer.class)
private Long orgId ; private Long orgId ;
} }

View File

@ -1,6 +1,8 @@
package com.das.modules.auth.service; package com.das.modules.auth.service;
import com.das.modules.auth.domain.dto.ChangePasswordDto;
import com.das.modules.auth.domain.vo.LoginUserDetailsVo;
import com.das.modules.auth.domain.dto.LoginDto; import com.das.modules.auth.domain.dto.LoginDto;
import com.das.modules.auth.domain.dto.RefreshTokenDto; import com.das.modules.auth.domain.dto.RefreshTokenDto;
import com.das.modules.auth.domain.vo.LoginUserDetailsVo; import com.das.modules.auth.domain.vo.LoginUserDetailsVo;
@ -36,4 +38,6 @@ public interface LoginService {
* @return * @return
*/ */
LoginVo refreshToken(RefreshTokenDto refreshToken); LoginVo refreshToken(RefreshTokenDto refreshToken);
int changePassword(ChangePasswordDto changePasswordDto);
} }

View File

@ -8,7 +8,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.das.common.captcha.CaptchaUtils; import com.das.common.captcha.CaptchaUtils;
import com.das.common.config.SaTokenProperties; import com.das.common.config.SaTokenProperties;
import com.das.common.config.SessionUtil; import com.das.common.config.SessionUtil;
import com.das.common.exceptions.ServiceException;
import com.das.common.utils.AdminRedisTemplate; import com.das.common.utils.AdminRedisTemplate;
import com.das.modules.auth.domain.dto.ChangePasswordDto;
import com.das.modules.auth.domain.vo.LoginUserDetailsVo;
import com.das.modules.auth.domain.dto.LoginDto; import com.das.modules.auth.domain.dto.LoginDto;
import com.das.modules.auth.domain.dto.RefreshTokenDto; import com.das.modules.auth.domain.dto.RefreshTokenDto;
import com.das.modules.auth.domain.vo.LoginUserDetailsVo; import com.das.modules.auth.domain.vo.LoginUserDetailsVo;
@ -22,8 +25,10 @@ import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.time.Duration; import java.time.Duration;
import java.util.Date;
/** /**
* @author chenhaojie * @author chenhaojie
@ -125,4 +130,19 @@ public class LoginServiceImpl implements LoginService {
} }
@Override
public int changePassword(ChangePasswordDto changePasswordDto) {
if (changePasswordDto.getId() == null || StringUtils.isEmpty(changePasswordDto.getNewPassword())) {
throw new ServiceException("非法调用,参数缺失");
}
String passwordEncode = BCrypt.hashpw(changePasswordDto.getNewPassword(), BCrypt.gensalt());
SysUser sysUser = sysUserMapper.selectById(changePasswordDto.getId());
if (sysUser == null) {
throw new ServiceException("用户不存在");
}
sysUser.setPassword(passwordEncode);
sysUser.setUpdatedTime(new Date());
return sysUserMapper.updateById(sysUser);
}
} }

View File

@ -39,6 +39,7 @@ public class SysOrgServiceImpl implements SysOrgService {
public void updateOrg(SysOrgDto sysOrgDto) { public void updateOrg(SysOrgDto sysOrgDto) {
SysOrg sysOrg = new SysOrg(); SysOrg sysOrg = new SysOrg();
BeanCopyUtils.copy(sysOrgDto,sysOrg); BeanCopyUtils.copy(sysOrgDto,sysOrg);
sysOrg.setUpdatedTime(new Date());
sysOrgMapper.updateById(sysOrg); sysOrgMapper.updateById(sysOrg);
} }

View File

@ -135,6 +135,7 @@ public class SysRoleServiceImpl implements SysRoleService {
sysRole.setRoleName(sysRoleDto.getRoleName()); sysRole.setRoleName(sysRoleDto.getRoleName());
sysRole.setRoleCode(sysRoleDto.getRoleCode()); sysRole.setRoleCode(sysRoleDto.getRoleCode());
sysRole.setId(sysRoleDto.getId()); sysRole.setId(sysRoleDto.getId());
sysRole.setUpdatedTime(new Date());
this.sysRoleMapper.updateById(sysRole); this.sysRoleMapper.updateById(sysRole);
//验证权限有效性 //验证权限有效性
String errorAuths = checkErrorAuthorities(sysRoleDto.getAuthList()); String errorAuths = checkErrorAuthorities(sysRoleDto.getAuthList());

View File

@ -56,7 +56,7 @@ public class SysUserServiceImpl implements SysUserService {
SysUser sysUser = new SysUser(); SysUser sysUser = new SysUser();
BeanCopyUtils.copy(sysUserDto,sysUser); BeanCopyUtils.copy(sysUserDto,sysUser);
//密码加密 //密码加密
String passwordEncode = BCrypt.hashpw(sysUserDto.getPassword(), BCrypt.gensalt()); String passwordEncode = BCrypt.hashpw("123456789", BCrypt.gensalt());
sysUser.setId(SequenceUtils.generateId()); sysUser.setId(SequenceUtils.generateId());
sysUser.setRevision(1); sysUser.setRevision(1);
sysUser.setCreatedTime(new Date()); sysUser.setCreatedTime(new Date());
@ -138,6 +138,7 @@ public class SysUserServiceImpl implements SysUserService {
} }
SysUser newSysUser = new SysUser(); SysUser newSysUser = new SysUser();
BeanUtils.copyProperties(sysUserDto, newSysUser, "password"); BeanUtils.copyProperties(sysUserDto, newSysUser, "password");
newSysUser.setUpdatedTime(new Date());
sysUserMapper.updateById(newSysUser); sysUserMapper.updateById(newSysUser);
if (sysUserDto.getRoleList() != null) { if (sysUserDto.getRoleList() != null) {