feat:用户管理
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
package com.xiang.xservice.auth.api.dto.req;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class IdsRequest {
|
||||||
|
|
||||||
|
private List<Long> ids;
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.xiang.xservice.auth.api.dto.req.user;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UserUpdateStatusRequest {
|
||||||
|
@NotNull(message = "id不能为空")
|
||||||
|
private Long id;
|
||||||
|
@NotNull(message = "状态不能为空")
|
||||||
|
private Integer status;
|
||||||
|
}
|
||||||
@@ -7,6 +7,7 @@ import com.xiang.xservice.auth.api.dto.req.user.UserDeptUpdateRequest;
|
|||||||
import com.xiang.xservice.auth.api.dto.req.user.UserQueryRequest;
|
import com.xiang.xservice.auth.api.dto.req.user.UserQueryRequest;
|
||||||
import com.xiang.xservice.auth.api.dto.req.user.UserRoleUpdateRequest;
|
import com.xiang.xservice.auth.api.dto.req.user.UserRoleUpdateRequest;
|
||||||
import com.xiang.xservice.auth.api.dto.req.user.UserUpdateRequest;
|
import com.xiang.xservice.auth.api.dto.req.user.UserUpdateRequest;
|
||||||
|
import com.xiang.xservice.auth.api.dto.req.user.UserUpdateStatusRequest;
|
||||||
import com.xiang.xservice.auth.api.dto.resp.UserResp;
|
import com.xiang.xservice.auth.api.dto.resp.UserResp;
|
||||||
import com.xiang.xservice.auth.service.service.XUserService;
|
import com.xiang.xservice.auth.service.service.XUserService;
|
||||||
import com.xiang.xservice.basic.common.resp.Result;
|
import com.xiang.xservice.basic.common.resp.Result;
|
||||||
@@ -17,7 +18,6 @@ import org.springframework.web.bind.annotation.GetMapping;
|
|||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
@@ -54,6 +54,10 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
return Result.error();
|
return Result.error();
|
||||||
}
|
}
|
||||||
|
@PostMapping("/private/user/updateStatus")
|
||||||
|
public Result<Boolean> updateStatus(@RequestBody @Valid @NotNull(message = "请求参数不能为空") UserUpdateStatusRequest request) {
|
||||||
|
return Result.data(userService.updateStatus(request.getId(), request.getStatus()));
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/private/user/update")
|
@PostMapping("/private/user/update")
|
||||||
public Result<Boolean> updateUser(@RequestBody @Valid @NotNull(message = "请求参数不能为空") UserUpdateRequest request) {
|
public Result<Boolean> updateUser(@RequestBody @Valid @NotNull(message = "请求参数不能为空") UserUpdateRequest request) {
|
||||||
@@ -69,7 +73,7 @@ public class UserController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/private/user/del")
|
@PostMapping("/private/user/del")
|
||||||
public Result<Boolean> delUser(@RequestParam @Valid @NotEmpty(message = "请求参数不能为空") List<Long> ids) {
|
public Result<Boolean> delUser(@RequestBody @Valid @NotEmpty(message = "请求参数不能为空") List<Long> ids) {
|
||||||
try {
|
try {
|
||||||
return Result.data(userService.delUser(ids));
|
return Result.data(userService.delUser(ids));
|
||||||
} catch (BusinessException e) {
|
} catch (BusinessException e) {
|
||||||
|
|||||||
@@ -41,4 +41,6 @@ public interface XUserService {
|
|||||||
UserDTO getUserDetail(String username);
|
UserDTO getUserDetail(String username);
|
||||||
|
|
||||||
LoginResp refresh(RefreshRequest request);
|
LoginResp refresh(RefreshRequest request);
|
||||||
|
|
||||||
|
Boolean updateStatus(Long id, Integer status);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,6 +239,23 @@ public class XUserServiceImpl implements XUserService {
|
|||||||
public Page<UserResp> getUserList(UserQueryRequest request) {
|
public Page<UserResp> getUserList(UserQueryRequest request) {
|
||||||
Page<XUser> page = new Page<>(request.getCurrent(), request.getPageSize());
|
Page<XUser> page = new Page<>(request.getCurrent(), request.getPageSize());
|
||||||
LambdaQueryWrapper<XUser> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<XUser> lambdaQueryWrapper = Wrappers.lambdaQuery();
|
||||||
|
lambdaQueryWrapper.eq(XUser::getDelFlag, DelStatusEnum.NOT_DELETED.getCode());
|
||||||
|
if (StringUtils.isNotBlank(request.getName())) {
|
||||||
|
lambdaQueryWrapper.like(XUser::getName, request.getName());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(request.getUsername())) {
|
||||||
|
lambdaQueryWrapper.eq(XUser::getUsername, request.getUsername());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(request.getEmail())) {
|
||||||
|
lambdaQueryWrapper.like(XUser::getEmail, request.getEmail());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotBlank(request.getPhone())) {
|
||||||
|
lambdaQueryWrapper.like(XUser::getPhone, request.getPhone());
|
||||||
|
}
|
||||||
|
if (Objects.nonNull(request.getStatus())) {
|
||||||
|
lambdaQueryWrapper.eq(XUser::getStatus, request.getStatus());
|
||||||
|
}
|
||||||
|
lambdaQueryWrapper.orderByDesc(XUser::getCreateTime);
|
||||||
return userConvert.toPage(userMapper.selectPage(page, lambdaQueryWrapper));
|
return userConvert.toPage(userMapper.selectPage(page, lambdaQueryWrapper));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -386,4 +403,14 @@ public class XUserServiceImpl implements XUserService {
|
|||||||
loginResp.setRefreshToken(request.getRefreshToken());
|
loginResp.setRefreshToken(request.getRefreshToken());
|
||||||
return loginResp;
|
return loginResp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean updateStatus(Long id, Integer status) {
|
||||||
|
XUser user = userMapper.getUserById(id);
|
||||||
|
if (Objects.isNull(user)) {
|
||||||
|
throw new BusinessException(Code01UserErrorCode.USER_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
user.setStatus(status);
|
||||||
|
return userMapper.update(user) > 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,12 +73,13 @@
|
|||||||
<if test="null != updateTime ">update_time = #{updateTime},</if>
|
<if test="null != updateTime ">update_time = #{updateTime},</if>
|
||||||
<if test="null != tenantId ">tenant_id = #{tenantId},</if>
|
<if test="null != tenantId ">tenant_id = #{tenantId},</if>
|
||||||
<if test="null != token and '' != token ">token = #{token},</if>
|
<if test="null != token and '' != token ">token = #{token},</if>
|
||||||
<if test="null != refreshToken and '' != refreshToken ">refresh_token = #{refreshToken}</if>
|
<if test="null != refreshToken and '' != refreshToken ">refresh_token = #{refreshToken},</if>
|
||||||
|
<if test="status != null">status = #{status}</if>
|
||||||
</set>
|
</set>
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</update>
|
</update>
|
||||||
<update id="deleteBatch">
|
<update id="deleteBatch">
|
||||||
update x_user set del_flag = 0, update_time = #{time}, update_by = #{operator} where id in
|
update x_user set del_flag = 1, update_time = #{time}, update_by = #{operator} where id in
|
||||||
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
|
|||||||
Reference in New Issue
Block a user