feat:角色接口开发v1
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
package com.xiang.xservice.auth.service.entity;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class XUserRole {
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
/**
|
||||
* 角色id
|
||||
*/
|
||||
private Long roleId;
|
||||
}
|
||||
@@ -17,5 +17,6 @@ public interface XRoleMapper {
|
||||
int delBatch(@Param("ids") List<Long> ids, @Param("time") LocalDateTime time, @Param("operator") String operator);
|
||||
List<XRole> getRoleList(XRole record);
|
||||
XRole getRoleById(Long id);
|
||||
List<XRole> getRoleByIds(@Param("ids") List<Long> ids);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.xiang.xservice.auth.service.repository.mapper;
|
||||
|
||||
import com.xiang.xservice.auth.service.entity.XUserRole;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
@Mapper
|
||||
public interface XUserRoleMapper {
|
||||
|
||||
int insertUserRole(@Param("list") List<XUserRole> userRoles);
|
||||
|
||||
int delByUserId(@Param("userId") Long userId);
|
||||
|
||||
int delByRoleIds(@Param("list") List<Long> roleIds);
|
||||
}
|
||||
@@ -40,12 +40,18 @@ public class XRoleServiceImpl implements RoleService {
|
||||
|
||||
@Override
|
||||
public Boolean addRole(RoleAddRequest request) {
|
||||
return roleMapper.insert(roleConvert.toDO(request)) > 0;
|
||||
XRole role = roleConvert.toDO(request);
|
||||
role.setCreateBy(request.getOperator());
|
||||
role.setUpdateBy(request.getOperator());
|
||||
return roleMapper.insert(role) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateRole(RoleUpdateRequest request) {
|
||||
return roleMapper.update(roleConvert.toDO(request)) > 0;
|
||||
XRole role = roleConvert.toDO(request);
|
||||
role.setCreateBy(request.getOperator());
|
||||
role.setUpdateBy(request.getOperator());
|
||||
return roleMapper.update(role) > 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -14,8 +14,11 @@ import com.xiang.xservice.auth.api.dto.resp.RegisterResp;
|
||||
import com.xiang.xservice.auth.api.dto.resp.UserResp;
|
||||
import com.xiang.xservice.auth.service.convert.XUserConvert;
|
||||
import com.xiang.xservice.auth.service.entity.XUser;
|
||||
import com.xiang.xservice.auth.service.entity.XUserRole;
|
||||
import com.xiang.xservice.auth.service.enums.UserStatusEnum;
|
||||
import com.xiang.xservice.auth.service.repository.mapper.XRoleMapper;
|
||||
import com.xiang.xservice.auth.service.repository.mapper.XUserMapper;
|
||||
import com.xiang.xservice.auth.service.repository.mapper.XUserRoleMapper;
|
||||
import com.xiang.xservice.auth.service.service.XUserService;
|
||||
import com.xiang.xservice.basic.enums.DelStatusEnum;
|
||||
import com.xiang.xservice.basic.exception.BusinessException;
|
||||
@@ -49,6 +52,8 @@ public class XUserServiceImpl implements XUserService {
|
||||
private final AuthenticationManager authenticationManager;
|
||||
private final PasswordEncoder passwordEncoder;
|
||||
private final XUserConvert userConvert;
|
||||
private final XRoleMapper roleMapper;
|
||||
private final XUserRoleMapper userRoleMapper;
|
||||
|
||||
@Override
|
||||
public LoginResp login(LoginRequest request) {
|
||||
@@ -182,6 +187,22 @@ public class XUserServiceImpl implements XUserService {
|
||||
|
||||
@Override
|
||||
public Boolean setUserRole(UserRoleUpdateRequest request) {
|
||||
return null;
|
||||
XUser user = userMapper.getUserById(request.getUserId());
|
||||
if (Objects.isNull(user)) {
|
||||
log.error("查询用户信息不存在!用户id:{}", request.getUserId());
|
||||
throw new BusinessException(UserErrorCode.USER_NOT_EXISTS);
|
||||
}
|
||||
List<XUserRole> params = Lists.newArrayList();
|
||||
for (Long roleId : request.getRoleIds()) {
|
||||
XUserRole userRole = new XUserRole();
|
||||
userRole.setRoleId(roleId);
|
||||
userRole.setUserId(request.getUserId());
|
||||
params.add(userRole);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(params)) {
|
||||
return userRoleMapper.insertUserRole(params) > 0;
|
||||
|
||||
}
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,5 +138,13 @@
|
||||
</if>
|
||||
</trim>
|
||||
</select>
|
||||
<select id="getRoleByIds" resultMap="BaseResultMap">
|
||||
select <include refid="Base_Column_List"/>
|
||||
from x_role
|
||||
where id in
|
||||
<foreach collection="ids" item="id" close=")" open="(" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.xiang.xservice.auth.service.repository.mapper.XUserRoleMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.xiang.xservice.auth.service.entity.XUserRole" >
|
||||
<result column="user_id" property="userId" />
|
||||
<result column="role_id" property="roleId" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
user_id,
|
||||
role_id
|
||||
</sql>
|
||||
<insert id="insertUserRole">
|
||||
insert into x_user_role(user_id, role_id)
|
||||
values
|
||||
<foreach collection="list" item="item" separator=",">
|
||||
(#{item.userId}, #{item.roleId})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<delete id="delByUserId">
|
||||
delete from x_user_role where user_id = #{userId}
|
||||
</delete>
|
||||
<delete id="delByRoleIds">
|
||||
delete from x_user_role where role_id in
|
||||
<foreach collection="list" item="id" open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user