瀏覽代碼

提交用户管理相关代码,未测试

tags/v1.0.0^2
wanjing 1 年之前
父節點
當前提交
c0b097e150
共有 27 個檔案被更改,包括 956 行新增160 行删除
  1. +16
    -12
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/controller/UserController.java
  2. +2
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/entity/User.java
  3. +1
    -1
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/inspectionfile/EditInspectionFileQuestionTypeCodeEnum.java
  4. +49
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/AddUserCodeEnum.java
  5. +50
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/DeleteUserCodeEnum.java
  6. +51
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/EditUserCodeEnum.java
  7. +51
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/EditUserPasswordCodeEnum.java
  8. +50
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/EditUserStatusCodeEnum.java
  9. +50
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/QueryUserInfoByIdCodeEnum.java
  10. +3
    -3
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/QueryUserListByDeptIdCodeEnum.java
  11. +4
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/mapper/UserMapper.java
  12. +3
    -3
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/AddOidcUserService.java
  13. +57
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/EditOidcUserPasswordService.java
  14. +86
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/EditOidcUserService.java
  15. +4
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/OidcService.java
  16. +14
    -1
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/OidcServiceImpl.java
  17. +6
    -4
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/IUserService.java
  18. +44
    -17
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/UserServiceImpl.java
  19. +13
    -67
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/add/AddUserService.java
  20. +99
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/delete/DeleteUserService.java
  21. +72
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/query/QueryUserInfoByIdService.java
  22. +1
    -1
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/query/QueryUserListByDeptIdService.java
  23. +1
    -1
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/query/QueryUserPageListService.java
  24. +86
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/update/UpdateUserPasswordService.java
  25. +55
    -50
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/update/UpdateUserService.java
  26. +72
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/update/UpdateUserStatusService.java
  27. +16
    -0
      tuoheng-service/tuoheng-admin/src/main/resources/mapper/UserMapper.xml

+ 16
- 12
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/controller/UserController.java 查看文件

@@ -9,6 +9,8 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
* 用户前端控制器
*
@@ -71,34 +73,36 @@ public class UserController {
/**
* 删除用户
*
* @param userIds 用户ID
* @param idList 用户ID
* @return
*/
@DeleteMapping("/delete/{userIds}")
public JsonResult deleteByIds(@PathVariable("userIds") String[] userIds) {
return userService.deleteByIds(userIds);
@DeleteMapping("/delete/{idList}")
public JsonResult deleteByIdList(@PathVariable("idList") List<String> idList) {
return userService.deleteByIdList(idList);
}

/**
* 设置状态
*
* @param entity 实体对象
* @param id
* @param status
*
* @return
*/
@PutMapping("/edit/status")
public JsonResult status(@RequestBody User entity) {
return userService.updeateStatus(entity);
@PutMapping("/edit/status/{id}/{status}")
public JsonResult status(@PathVariable("id") String id, @PathVariable("status") Integer status) {
return userService.updeateStatus(id, status);
}

/**
* 重置密码
*
* @param request 参数
* @param id
* @return
*/
@PutMapping("/resetPwd")
public JsonResult resetPwd(@RequestBody UserResetPwdRequest request) {
return userService.resetPwd(request);
@PutMapping("/resetPwd/{id}")
public JsonResult resetPwd(@PathVariable("id") String id) {
return userService.resetPwd(id);
}

/**

+ 2
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/entity/User.java 查看文件

@@ -2,6 +2,7 @@ package com.tuoheng.admin.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@@ -19,6 +20,7 @@ import java.util.Date;
* @since 2020-10-30
*/
@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("th_oauth_user")

+ 1
- 1
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/inspectionfile/EditInspectionFileQuestionTypeCodeEnum.java 查看文件

@@ -13,7 +13,7 @@ public enum EditInspectionFileQuestionTypeCodeEnum {

EDIT_IS_FAILED(1240800, "修改数据失败"),
ID_IS_NULL(1240801, "任务问题id为空"),
QUESTION_NAME_IS_NULL(1240802, "问题类型id为空"),
QUESTION_NAME_IS_NULL(1240802, "问题类型为空"),
INSPECTION_FILE_IS_NOT_EXIST(1240803, "任务问题不存在"),
QUESTION_TYPE_IS_NOT_EXIST(1240804, "问题类型不存在");


+ 49
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/AddUserCodeEnum.java 查看文件

@@ -0,0 +1,49 @@
package com.tuoheng.admin.enums.code.user;

/**
* 新增用户返回码
* 模块代码:10(部门管理)
* 接口代码:01 (新增用户)
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
public enum AddUserCodeEnum {

ADD_IS_FAILED(1100100, "添加失败"),
PHONE_NOT_IMATCH(1100101, "手机号不匹配"),
USERNAME_ALREADY_EXISTS(1100102, "系统中已经存在该用户名");

/**
* 错误码
*/
private int code;

/**
* 错误信息
*/
private String msg;

AddUserCodeEnum(int code, String msg){
this.code = code;
this.msg = msg;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

}

+ 50
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/DeleteUserCodeEnum.java 查看文件

@@ -0,0 +1,50 @@
package com.tuoheng.admin.enums.code.user;

/**
* 删除用户返回码
* 模块代码:10(部门管理)
* 接口代码:02 (删除用户)
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
public enum DeleteUserCodeEnum {

DELETE_IS_FAILED(1100200, "删除失败"),
USER_ID_IS_NULL(1100201, "用户ID为空"),
USER_IS_NOT_EXIST(1100202, "用户不存在");


/**
* 错误码
*/
private int code;

/**
* 错误信息
*/
private String msg;

DeleteUserCodeEnum(int code, String msg){
this.code = code;
this.msg = msg;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

}

+ 51
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/EditUserCodeEnum.java 查看文件

@@ -0,0 +1,51 @@
package com.tuoheng.admin.enums.code.user;

/**
* 删除用户返回码
* 模块代码:10(部门管理)
* 接口代码:03 (删除用户)
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
public enum EditUserCodeEnum {

EDIT_IS_FAILED(1100300, "修改失败"),
USER_ID_IS_NULL(1100301, "用户ID为空"),
PHONE_NOT_IMATCH(1100302, "手机号不匹配"),
USER_IS_NOT_EXIST(1100303, "用户不存在"),
USERNAME_ALREADY_EXISTS(1100304, "系统中已经存在该用户名");

/**
* 错误码
*/
private int code;

/**
* 错误信息
*/
private String msg;

EditUserCodeEnum(int code, String msg){
this.code = code;
this.msg = msg;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

}

+ 51
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/EditUserPasswordCodeEnum.java 查看文件

@@ -0,0 +1,51 @@
package com.tuoheng.admin.enums.code.user;

/**
* 修改用户密码返回码
* 模块代码:10(部门管理)
* 接口代码:04 (修改用户密码)
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
public enum EditUserPasswordCodeEnum {

EDIT_IS_FAILED(1100400, "修改失败"),
USER_ID_IS_NULL(1100401, "用户ID为空"),
USER_IS_NOT_EXIST(1100402, "用户不存在"),
NON_TENANT_USER(1100403, "当前用户非本租户用户");


/**
* 错误码
*/
private int code;

/**
* 错误信息
*/
private String msg;

EditUserPasswordCodeEnum(int code, String msg){
this.code = code;
this.msg = msg;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

}

+ 50
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/EditUserStatusCodeEnum.java 查看文件

@@ -0,0 +1,50 @@
package com.tuoheng.admin.enums.code.user;

/**
* 修改用户状态返回码
* 模块代码:10(部门管理)
* 接口代码:05 (修改用户状态)
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
public enum EditUserStatusCodeEnum {

EDIT_IS_FAILED(1100500, "修改失败"),
USER_ID_IS_NULL(1100501, "用户ID为空"),
USER_IS_NOT_EXIST(1100502, "用户不存在");


/**
* 错误码
*/
private int code;

/**
* 错误信息
*/
private String msg;

EditUserStatusCodeEnum(int code, String msg){
this.code = code;
this.msg = msg;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

}

+ 50
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/QueryUserInfoByIdCodeEnum.java 查看文件

@@ -0,0 +1,50 @@
package com.tuoheng.admin.enums.code.user;

/**
* 根据ID查询用户信息返回码
* 模块代码:10(部门管理)
* 接口代码:06 (根据ID查询用户信息)
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
public enum QueryUserInfoByIdCodeEnum {

QUERY_ID_IS_NULL(1100600, "查询失败"),
USER_ID_IS_NULL(1100601, "用户ID为空"),
USER_IS_NOT_EXIST(1100602, "用户不存在"),
NON_TENANT_USER(1100603, "当前用户非本租户用户");

/**
* 错误码
*/
private int code;

/**
* 错误信息
*/
private String msg;

QueryUserInfoByIdCodeEnum(int code, String msg){
this.code = code;
this.msg = msg;
}

public int getCode() {
return code;
}

public void setCode(int code) {
this.code = code;
}

public String getMsg() {
return msg;
}

public void setMsg(String msg) {
this.msg = msg;
}

}

+ 3
- 3
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/enums/code/user/QueryUserListByDeptIdCodeEnum.java 查看文件

@@ -3,7 +3,7 @@ package com.tuoheng.admin.enums.code.user;
/**
* 根据部门ID查询用户列表返回码
* 模块代码:10(部门管理)
* 接口代码:01 (据部门ID查询用户列表)
* 接口代码:07 (据部门ID查询用户列表)
*
* @author wanjing
* @team tuoheng
@@ -11,8 +11,8 @@ package com.tuoheng.admin.enums.code.user;
*/
public enum QueryUserListByDeptIdCodeEnum {

DEPT_ID_IS_NULL(1100101, "部门ID为空"),
DEPT_IS_NOT_EXIST(1100102, "部门不存在");
DEPT_ID_IS_NULL(1100701, "部门ID为空"),
DEPT_IS_NOT_EXIST(1100702, "部门不存在");

/**
* 错误码

+ 4
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/mapper/UserMapper.java 查看文件

@@ -3,6 +3,8 @@ package com.tuoheng.admin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tuoheng.admin.entity.User;

import java.util.Map;

/**
* 后台用户管理表 Mapper 接口
*
@@ -12,4 +14,6 @@ import com.tuoheng.admin.entity.User;
*/
public interface UserMapper extends BaseMapper<User> {

Integer updateByIdList(Map<String, Object> map);

}

+ 3
- 3
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/AddOidcUserService.java 查看文件

@@ -31,8 +31,8 @@ public class AddOidcUserService {
@Qualifier("restTemplate")
private RestTemplate restTemplate;

public JsonResult addUser(User user, Tenant tenant) {
OidcCreateUserRequest request = extracted(user, tenant);
public JsonResult add(User user, Tenant tenant) {
OidcCreateUserRequest request = this.buildOidcCreateUserRequest(user, tenant);
//设置请求头
HttpHeaders resultRequestHeader = new HttpHeaders();
resultRequestHeader.add("Authorization", "Bearer " + SecurityUserUtils.token());
@@ -63,7 +63,7 @@ public class AddOidcUserService {
* @param user
* @return
*/
private OidcCreateUserRequest extracted(User user, Tenant tenant) {
private OidcCreateUserRequest buildOidcCreateUserRequest(User user, Tenant tenant) {
OidcCreateUserRequest oidcCreateUserRequest = new OidcCreateUserRequest();
oidcCreateUserRequest.setUsername(user.getUsername());
if (StringUtils.isNotEmpty(user.getPassword())) {

+ 57
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/EditOidcUserPasswordService.java 查看文件

@@ -0,0 +1,57 @@
package com.tuoheng.admin.service.third.oidc;

import com.tuoheng.admin.constant.OidcUrlConstant;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.request.oidc.OidcUpdateUserPasswordRequest;
import com.tuoheng.common.core.config.common.CommonConfig;
import com.tuoheng.common.core.utils.JsonResult;
import com.tuoheng.common.core.utils.SecurityUserUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

@Slf4j
@Service
public class EditOidcUserPasswordService {

@Autowired
@Qualifier("restTemplate")
private RestTemplate restTemplate;

public JsonResult editUserPassword(User user) {
OidcUpdateUserPasswordRequest oidcUpdateUserPasswordRequest = new OidcUpdateUserPasswordRequest();
oidcUpdateUserPasswordRequest.setUsername(user.getUsername());
// 重置密码123456
oidcUpdateUserPasswordRequest.setPassword("123456");

//设置请求头
org.springframework.http.HttpHeaders resultRequestHeader = new HttpHeaders();
resultRequestHeader.add("Authorization", "Bearer " + SecurityUserUtils.token());
HttpEntity httpEntity = new HttpEntity(oidcUpdateUserPasswordRequest, resultRequestHeader);
//设置地址,飞手小程序 经过网关
String url = CommonConfig.oidcUrl + OidcUrlConstant.USER_UPDATEPASS;
ResponseEntity<JsonResult> response;
try {
response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, JsonResult.class);
} catch (Exception e) {
log.error("oidc修改用户密码失败");
return JsonResult.error("oidc修改用户密码失败");
}
if (null == response || !response.hasBody()) {
log.error("oidc修改用户密码响应失败");
return JsonResult.error("oidc修改用户密码失败");
}
if (response.getBody().getCode() != JsonResult.SUCCESS) {
log.error("oidc修改用户密码失败" + response.getBody());
return JsonResult.error(response.getBody().getMsg());
}
return JsonResult.success();
}

}

+ 86
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/EditOidcUserService.java 查看文件

@@ -0,0 +1,86 @@
package com.tuoheng.admin.service.third.oidc;

import com.tuoheng.admin.constant.OidcUrlConstant;
import com.tuoheng.admin.dto.ClientRoleDto;
import com.tuoheng.admin.entity.Tenant;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.enums.ClientEnum;
import com.tuoheng.admin.request.oidc.OidcCreateUserRequest;
import com.tuoheng.admin.request.oidc.OidcUpdateUserRequest;
import com.tuoheng.common.core.config.common.CommonConfig;
import com.tuoheng.common.core.utils.JsonResult;
import com.tuoheng.common.core.utils.SecurityUserUtils;
import com.tuoheng.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

import java.util.ArrayList;
import java.util.List;

@Slf4j
@Service
public class EditOidcUserService {

@Autowired
@Qualifier("restTemplate")
private RestTemplate restTemplate;

public JsonResult edit(User user) {
//修改用户角色
OidcUpdateUserRequest oidcUpdateUserRequest = buildOidcUpdateUserRequest(user);

//设置请求头
HttpHeaders resultRequestHeader = new HttpHeaders();
resultRequestHeader.add("Authorization", "Bearer " + SecurityUserUtils.token());
//resultRequestHeader.add("Authorization", "Bearer "+ "eyJraWQiOiJiZDhjZWUwNi0yY2E1LTQzZDYtYTA2OC1kOWM5ZDFhZmYxYzYiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImF1ZCI6InR1b2hlbmctZHNwLXdlYiIsIm5iZiI6MTY2NzIwOTU4NSwib1VzZXJJZCI6MTIsInNjb3BlIjpbImFkbWluIl0sImlzcyI6Imh0dHA6XC9cL29pZGMuZGV2LnQtYWFyb24uY29tIiwiY2xpZW50Um9sZUxpc3QiOltdLCJleHAiOjE2NjcyOTU5ODUsImlhdCI6MTY2NzIwOTU4NSwidXNlcm5hbWUiOiJhZG1pbiJ9.bfZceQpXwlR22Q1tODDGXgFQ718iXPL9aGKF_truMkSUj96h_a0DOqoCjtAELo0r703o9jEFb0pUzERvaOVK-IhL_z37rmf2kVRnM7yy_cOnpNa6yhD7c0UpqRN-2L8QPpQcWzmEUtvEp4icS_zFOp-lN_A0J6jpoGhpYbqiZCUn_1_ojRX9iGc6JzzaVPRgsHgrwt1g2mMrQWhoG7_4sIyWEM4y1RimUaEDCDjuFko3HWh8qLfTLMMSML0Zt1ovSRSVLCFmAOROeerNpte6UuzWrcsIpckBLmr-uNFVu8SZOZ1UE4W5_LHTztAel8JtZx84Q1Aaoy9TM9h_pv2jCg");
HttpEntity httpEntity = new HttpEntity(oidcUpdateUserRequest, resultRequestHeader);
//设置地址(飞手平台)
String url = CommonConfig.oidcUrl + OidcUrlConstant.USER_UPDATEROLE;
ResponseEntity<JsonResult> response = null;
try {
response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, JsonResult.class);
} catch (Exception e) {
log.error("oidc修改用户信息响应失败");
return JsonResult.error("oidc修改用户信息响应失败");
}
if (null == response || !response.hasBody()) {
log.error("oidc修改用户信息响应失败");
return JsonResult.error("oidc修改用户信息响应失败");
}
if (response.getBody().getCode() != JsonResult.SUCCESS) {
log.error("oidc修改用户响应失败" + response.getBody());
return JsonResult.error(response.getBody().getMsg());
}
return JsonResult.success();
}

/**
* 封装请求->oidc认证信息
*
* @param user
* @return
*/
private OidcUpdateUserRequest buildOidcUpdateUserRequest(User user) {
OidcUpdateUserRequest oidcUpdateUserRequest = new OidcUpdateUserRequest();
oidcUpdateUserRequest.setUsername(user.getUsername());
List<ClientRoleDto> clientRoleDtoList = new ArrayList<>();
ClientRoleDto clientRoleDto;
String[] clientIdArr = user.getClientId().split(",");
for (String clientIdStr : clientIdArr) {
int clientId = Integer.valueOf(clientIdStr);
ClientEnum clientEnum = ClientEnum.parse(clientId);
if (null != clientEnum) {
clientRoleDto = new ClientRoleDto();
clientRoleDto.setClientId(clientEnum.getDescription());
clientRoleDto.setRoleId(user.getRoleId());
clientRoleDtoList.add(clientRoleDto);
}
}
oidcUpdateUserRequest.setClientRoleDtoList(clientRoleDtoList);
return oidcUpdateUserRequest;
}
}

+ 4
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/OidcService.java 查看文件

@@ -8,4 +8,8 @@ public interface OidcService {

JsonResult addUser(User user, Tenant tenant);

JsonResult editUser(User user);

JsonResult editUserPassword(User user);

}

+ 14
- 1
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/oidc/OidcServiceImpl.java 查看文件

@@ -14,8 +14,21 @@ public class OidcServiceImpl implements OidcService {
@Autowired
private AddOidcUserService addOidcUserService;

@Autowired
private EditOidcUserService editOidcUserService;

@Autowired
private EditOidcUserPasswordService editOidcUserPasswordService;

public JsonResult addUser(User user, Tenant tenant) {
return addOidcUserService.addUser(user, tenant);
return addOidcUserService.add(user, tenant);
}

public JsonResult editUser(User user) {
return editOidcUserService.edit(user);
}

public JsonResult editUserPassword(User user) {
return editOidcUserPasswordService.editUserPassword(user);
}
}

+ 6
- 4
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/IUserService.java 查看文件

@@ -7,6 +7,8 @@ import com.tuoheng.admin.request.user.UserResetPwdRequest;
import com.tuoheng.common.core.utils.JsonResult;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
* <p>
* 后台用户管理表 服务类
@@ -52,10 +54,10 @@ public interface IUserService {
/**
* 删除用户
*
* @param userIds 用户ID
* @param idList 用户ID
* @return
*/
JsonResult deleteByIds(String[] userIds);
JsonResult deleteByIdList(List<String> idList);

/**
* 设置状态
@@ -63,7 +65,7 @@ public interface IUserService {
* @param entity 实体对象
* @return
*/
JsonResult updeateStatus(User entity);
JsonResult updeateStatus(String id, Integer status);

/**
* 重置密码
@@ -71,7 +73,7 @@ public interface IUserService {
* @param request 参数
* @return
*/
JsonResult resetPwd(UserResetPwdRequest request);
JsonResult resetPwd(String id);

/**
* 根据部门id查询用户列表

+ 44
- 17
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/UserServiceImpl.java 查看文件

@@ -3,8 +3,14 @@ package com.tuoheng.admin.service.user;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.request.user.QueryUserPageListRequest;
import com.tuoheng.admin.request.user.UserResetPwdRequest;
import com.tuoheng.admin.service.user.add.AddUserService;
import com.tuoheng.admin.service.user.delete.DeleteUserService;
import com.tuoheng.admin.service.user.query.QueryUserInfoByIdService;
import com.tuoheng.admin.service.user.query.QueryUserListByDeptIdService;
import com.tuoheng.admin.service.user.query.QueryUserPageListService;
import com.tuoheng.admin.service.user.update.UpdateUserPasswordService;
import com.tuoheng.admin.service.user.update.UpdateUserService;
import com.tuoheng.admin.service.user.update.UpdateUserStatusService;
import com.tuoheng.common.core.utils.JsonResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -12,6 +18,8 @@ import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;


/**
* <p>
@@ -31,6 +39,23 @@ public class UserServiceImpl implements IUserService {
@Autowired
private QueryUserListByDeptIdService queryUserListByDeptIdService;

@Autowired
private AddUserService addUserService;

@Autowired
private UpdateUserService updateUserService;

@Autowired
private DeleteUserService deleteUserService;

@Autowired
private UpdateUserStatusService updateUserStatusService;

@Autowired
private UpdateUserPasswordService updateUserPasswordService;

@Autowired
private QueryUserInfoByIdService queryUserInfoByIdService;

/**
* 获取用户分页列表
@@ -50,63 +75,65 @@ public class UserServiceImpl implements IUserService {
* @return
*/
@Override
public JsonResult detail(@PathVariable("id") String id) {
return null;
public JsonResult detail(String id) {
return queryUserInfoByIdService.getUserInfo(id);
}

/**
* 添加用户
*
* @param entity 实体对象
* @param user 实体对象
* @return
*/
@Override
public JsonResult add(@RequestBody User entity) {
return null;
public JsonResult add(@RequestBody User user) {
return addUserService.add(user);
}

/**
* 编辑用户
*
* @param entity 实体对象
* @param user 实体对象
* @return
*/
@Override
public JsonResult edit(@RequestBody User entity) {
return null;
public JsonResult edit(User user) {
return updateUserService.update(user);
}

/**
* 删除用户
*
* @param userIds 用户ID
* @param idList 用户ID
* @return
*/
@Override
public JsonResult deleteByIds(String[] userIds) {
return null;
public JsonResult deleteByIdList(List<String> idList) {
return deleteUserService.deleteByIdList(idList);
}

/**
* 设置状态
*
* @param entity 实体对象
* @param id
* @param status
*
* @return
*/
@Override
public JsonResult updeateStatus(User entity) {
return null;
public JsonResult updeateStatus(String id, Integer status) {
return updateUserStatusService.update(id, status);
}

/**
* 重置密码
*
* @param request 参数
* @param id
* @return
*/
@Override
public JsonResult resetPwd(UserResetPwdRequest request) {
return null;
public JsonResult resetPwd(String id) {
return updateUserPasswordService.resetPwd(id);
}



+ 13
- 67
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/add/AddUserService.java 查看文件

@@ -6,6 +6,7 @@ import com.tuoheng.admin.entity.Role;
import com.tuoheng.admin.entity.Tenant;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.enums.code.dept.AddDeptCodeEnum;
import com.tuoheng.admin.enums.code.user.AddUserCodeEnum;
import com.tuoheng.admin.mapper.TenantMapper;
import com.tuoheng.admin.mapper.UserMapper;
import com.tuoheng.admin.request.dept.AddDeptRequest;
@@ -40,7 +41,6 @@ public class AddUserService {
@Autowired
private TenantMapper tenantMapper;


@Autowired
private OidcService oidcService;

@@ -61,26 +61,18 @@ public class AddUserService {
Tenant tenant = tenantMapper.selectById(tenantId);

// 添加oidc
oidcService.addUser(user, tenant);
result = oidcService.addUser(user, tenant);
if (0 != result.getCode()) {
log.info("添加用户业务接口:添加oidc数据失败:{}", result.getMsg());
return result;
}

this.buildUser(user, tenantId);

// result = this.saveOrUpdate(user);
// if (!result) {
// return JsonResult.error();
// }

// // 删除已存在的用户角色关系数据
// userRoleService.deleteUserRole(user.getId());
//
// // 插入用户角色关系数据
// //userRoleService.insertUserRole(entity.getId(), entity.getRoleIds());
// UserRole userRole = new UserRole();
// //租户id
// userRole.setTenantId(user.getTenantId());
// userRole.setUserId(user.getId());
// userRole.setRoleId(user.getRoleId());
// userRoleService.save(userRole);
Integer rowCount = userMapper.insert(user);
if (rowCount <= 0) {
return JsonResult.error(AddUserCodeEnum.ADD_IS_FAILED.getCode(), AddUserCodeEnum.ADD_IS_FAILED.getMsg());
}

return JsonResult.success();

@@ -96,16 +88,15 @@ public class AddUserService {
//校验手机号
boolean flag = CommonUtils.isMobile(user.getMobile());
if (!flag) {
return JsonResult.error("该用户手机号格式有误");
return JsonResult.error(AddUserCodeEnum.PHONE_NOT_IMATCH.getCode(), AddUserCodeEnum.PHONE_NOT_IMATCH.getMsg());
}
}

Integer count = userMapper.selectCount(new LambdaQueryWrapper<User>()
.eq(User::getTenantId, tenantId)
.eq(User::getUsername, user.getUsername())
.eq(User::getMark, 1));
if (count > 0) {
return JsonResult.error("系统中已经存在相同的账号信息");
return JsonResult.error(AddUserCodeEnum.USERNAME_ALREADY_EXISTS.getCode(), AddUserCodeEnum.USERNAME_ALREADY_EXISTS.getMsg());
}
return JsonResult.success();
}
@@ -136,54 +127,9 @@ public class AddUserService {
//id
user.setCreateUser(CurrentUserUtil.getUserId());
user.setTenantId(tenantId);
user.setCityName(this.selectCityName(user));
user.setCityName("");
user.setCreateUser(CurrentUserUtil.getUserId());
user.setCreateTime(DateUtils.now());
}

/**
* 用于新增修改终端用户 回显所管辖区域名称
*
* @param user
* @return
*/
private String selectCityName(User user) {
//根据用户查询出对应的角色
// QueryWrapper<City> queryWrapper = new QueryWrapper<>();
//
// Role role = roleMapper.selectById(user.getRoleId());
// String userCityCode = "";
// if (!StringUtils.isEmpty(user.getStreetCode()) && ("006".equals(role.getCode()) || role.getCode().equals("007"))) {
// String citys = "";
// String[] s = user.getStreetCode().split(",");
// for (String scode : s) {
// queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("citycode", scode);
// queryWrapper.eq("mark", 1);
// List<City> listStreet = cityMapper.selectList(queryWrapper);
// if (listStreet.size() > 0) {
// for (City cityone : listStreet) {
// citys += cityone.getName() + ",";
// }
// }
// }
// return citys.substring(0, citys.length() - 1);
// } else if (!StringUtils.isEmpty(user.getDistrictCode()) && (role.getCode().equals("004") || role.getCode().equals("007"))) {
// userCityCode = user.getDistrictCode();
// } else if (!StringUtils.isEmpty(user.getCityCode()) && (role.getCode().equals("003") || role.getCode().equals("007"))) {
// userCityCode = user.getCityCode();
// } else if (!StringUtils.isEmpty(user.getProvinceCode())) {
// userCityCode = user.getProvinceCode();
// }
// queryWrapper.eq("citycode", userCityCode);
// List<City> list = cityMapper.selectList(queryWrapper);
// if (list.size() > 0) {
// return list.get(0).getName();
// } else {
// return null;
// }

return "";
}

}

+ 99
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/delete/DeleteUserService.java 查看文件

@@ -0,0 +1,99 @@
package com.tuoheng.admin.service.user.delete;

import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.enums.InspectionFileStatusEnum;
import com.tuoheng.admin.enums.code.user.DeleteUserCodeEnum;
import com.tuoheng.admin.enums.code.user.EditUserCodeEnum;
import com.tuoheng.admin.mapper.UserMapper;
import com.tuoheng.admin.service.third.oidc.OidcService;
import com.tuoheng.admin.utils.CurrentUserUtil;
import com.tuoheng.common.core.config.common.CommonConfig;
import com.tuoheng.common.core.utils.CommonUtils;
import com.tuoheng.common.core.utils.DateUtils;
import com.tuoheng.common.core.utils.JsonResult;
import com.tuoheng.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* 删除用户业务层处理
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
@Slf4j
@Service
public class DeleteUserService {

@Autowired
private UserMapper userMapper;

/**
* 修改用户数据
*
* @return
*/
public JsonResult deleteByIdList(List<String> idList) {
log.info("进入删除用户业务接口");
String tenantId = CurrentUserUtil.getTenantId();
JsonResult result = this.check(tenantId, idList);
if (0 != result.getCode()) {
log.info("删除用户业务接口:校验失败:{}", result.getMsg());
return result;
}

Map<String, Object> map = new HashMap<>();
map.put("mark", 0);
map.put("updateUser", CurrentUserUtil.getUserId());
map.put("updateTime", DateUtils.now());
map.put("idList", idList);
Integer rowCount = userMapper.updateByIdList(map);
if (rowCount <= 0) {
return JsonResult.error(DeleteUserCodeEnum.DELETE_IS_FAILED.getCode(), DeleteUserCodeEnum.DELETE_IS_FAILED.getMsg());
}
return JsonResult.success();
}
/**
* 检查参数
* @param tenantId
* @param idList
* @return
*/
private JsonResult check(String tenantId, List<String> idList) {
if (CollectionUtil.isEmpty(idList)) {
return JsonResult.error(DeleteUserCodeEnum.USER_ID_IS_NULL.getCode(), DeleteUserCodeEnum.USER_ID_IS_NULL.getMsg());
}

return JsonResult.success();
}
/**
*
* 构建实体字段数据
*
* @param user
*/
private void buildUser(User user) {
if (StringUtils.isNotNull(user.getAvatar()) && user.getAvatar().contains(CommonConfig.imageURL)) {
user.setAvatar(user.getAvatar().replaceAll(CommonConfig.imageURL, ""));
} else {
//添加默认头像
user.setAvatar("imagedir/n1o1j9ndau_1670488066287.png");
}
user.setCityName("");
user.setUpdateUser(CurrentUserUtil.getUserId());
user.setUpdateTime(DateUtils.now());
}


}

+ 72
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/query/QueryUserInfoByIdService.java 查看文件

@@ -0,0 +1,72 @@
package com.tuoheng.admin.service.user.query;

import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.enums.code.user.QueryUserInfoByIdCodeEnum;
import com.tuoheng.admin.mapper.UserMapper;
import com.tuoheng.admin.utils.CurrentUserUtil;
import com.tuoheng.common.core.utils.JsonResult;
import com.tuoheng.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
* 根据用户Id查询用户信息业务层处理
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
@Slf4j
@Service
public class QueryUserInfoByIdService {

@Autowired
private UserMapper userMapper;

/**
* 获取部门树形列表
*
* @return
*/
public JsonResult getUserInfo(String id) {
log.info("进入根据用户Id查询用户信息业务");
JsonResult result = this.check(id);
if (0 != result.getCode()) {
log.info("根据用户Id查询用户信息业务:校验失败:{}", result.getMsg());
return result;
}

User user = (User) result.getData();

return JsonResult.success(user);
}

/**
* 检查参数
*
* @param id
* @return
*/
private JsonResult check(String id) {
if (StringUtils.isEmpty(id)) {
return JsonResult.error(QueryUserInfoByIdCodeEnum.USER_ID_IS_NULL.getCode(), QueryUserInfoByIdCodeEnum.USER_ID_IS_NULL.getMsg());
}
User user = userMapper.selectOne(new LambdaQueryWrapper<User>()
.eq(User::getId, id)
.eq(User::getMark, 1));

if (ObjectUtil.isNull(user)) {
return JsonResult.error(QueryUserInfoByIdCodeEnum.USER_IS_NOT_EXIST.getCode(), QueryUserInfoByIdCodeEnum.USER_IS_NOT_EXIST.getMsg());
}

if (!user.getTenantId().equals(CurrentUserUtil.getTenantId())) {
return JsonResult.error(QueryUserInfoByIdCodeEnum.NON_TENANT_USER.getCode(), QueryUserInfoByIdCodeEnum.NON_TENANT_USER.getMsg());
}

return JsonResult.success(user);
}

}

+ 1
- 1
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/query/QueryUserListByDeptIdService.java 查看文件

@@ -39,7 +39,7 @@ public class QueryUserListByDeptIdService {
* @return
*/
public JsonResult getListByDeptId(String deptId) {
log.info("进入根据部门id查询用户列表业务");
log.info("进入根据部门id查询用户列表业务");
JsonResult result = this.check(deptId);
if (0 != result.getCode()) {
log.info("根据根据部门id查询用户列表业业务:校验失败:{}", result.getMsg());

+ 1
- 1
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/query/QueryUserPageListService.java 查看文件

@@ -37,7 +37,7 @@ public class QueryUserPageListService {
* @return
*/
public JsonResult getPageList(QueryUserPageListRequest request) {
log.info("进入查询用户分页列表业务业务");
log.info("进入查询用户分页列表业务");
JsonResult result = this.check(request);
if (0 != result.getCode()) {
log.info("查询用户分页列表业务:校验失败:{}", result.getMsg());

+ 86
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/update/UpdateUserPasswordService.java 查看文件

@@ -0,0 +1,86 @@
package com.tuoheng.admin.service.user.update;

import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.enums.code.user.EditUserPasswordCodeEnum;
import com.tuoheng.admin.mapper.UserMapper;
import com.tuoheng.admin.service.third.oidc.OidcService;
import com.tuoheng.admin.utils.CurrentUserUtil;
import com.tuoheng.common.core.utils.CommonUtils;
import com.tuoheng.common.core.utils.JsonResult;
import com.tuoheng.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
* 修改用户密码业务层处理
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
@Slf4j
@Service
public class UpdateUserPasswordService {

@Autowired
private UserMapper userMapper;

@Autowired
private OidcService oidcService;

/**
* 修改用户密码数据
*
* @return
*/
public JsonResult resetPwd(String id) {
log.info("进入修改用户密码业务接口: id={}, status={}", id);
JsonResult result = this.check(id);
if (0 != result.getCode()) {
log.info("修改用户密码业务接口:校验失败:{}", result.getMsg());
return result;
}
User user = (User) result.getData();

// 修改oidc用户密码
result = oidcService.editUserPassword(user);
if (0 != result.getCode()) {
log.info("修改用户密码业务接口:修改oidc用户密码失败:{}", result.getMsg());
return result;
}

user.setPassword(CommonUtils.password("123456"));
Integer rowCount = userMapper.updateById(user);
if (rowCount <= 0) {
return JsonResult.error(EditUserPasswordCodeEnum.EDIT_IS_FAILED.getCode(), EditUserPasswordCodeEnum.EDIT_IS_FAILED.getMsg());
}
return JsonResult.success();
}

/**
* 检查参数
*
* @param id
* @return
*/
private JsonResult check(String id) {
if (StringUtils.isEmpty(id)) {
return JsonResult.error(EditUserPasswordCodeEnum.USER_ID_IS_NULL.getCode(), EditUserPasswordCodeEnum.USER_ID_IS_NULL.getMsg());
}
User user = userMapper.selectOne(new LambdaQueryWrapper<User>()
.eq(User::getId, id)
.eq(User::getMark, 1));

if (ObjectUtil.isNull(user)) {
return JsonResult.error(EditUserPasswordCodeEnum.USER_IS_NOT_EXIST.getCode(), EditUserPasswordCodeEnum.USER_IS_NOT_EXIST.getMsg());
}
if (!user.getTenantId().equals(CurrentUserUtil.getTenantId())) {
return JsonResult.error(EditUserPasswordCodeEnum.NON_TENANT_USER.getCode(), EditUserPasswordCodeEnum.NON_TENANT_USER.getMsg());
}
return JsonResult.success(user);
}

}

+ 55
- 50
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/update/UpdateUserService.java 查看文件

@@ -1,8 +1,12 @@
package com.tuoheng.admin.service.user.update;

import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.enums.code.user.AddUserCodeEnum;
import com.tuoheng.admin.enums.code.user.EditUserCodeEnum;
import com.tuoheng.admin.mapper.UserMapper;
import com.tuoheng.admin.service.third.oidc.OidcService;
import com.tuoheng.admin.utils.CurrentUserUtil;
import com.tuoheng.common.core.config.common.CommonConfig;
import com.tuoheng.common.core.utils.CommonUtils;
@@ -27,6 +31,9 @@ public class UpdateUserService {
@Autowired
private UserMapper userMapper;

@Autowired
private OidcService oidcService;

/**
* 修改用户数据
*
@@ -37,61 +44,24 @@ public class UpdateUserService {
String tenantId = CurrentUserUtil.getTenantId();
JsonResult result = this.check(tenantId, user);
if (0 != result.getCode()) {
log.info("添加修改用户业务接口:校验失败:{}", result.getMsg());
log.info("修改用户业务接口:校验失败:{}", result.getMsg());
return result;
}

// 添加oidc

//id
user.setCreateUser(CurrentUserUtil.getUserId());

// 设置密码
if (StringUtils.isNotEmpty(user.getPassword())) {
user.setPassword(CommonUtils.password(user.getPassword()));
} else {
//默认为123456密码
user.setPassword(CommonUtils.password("123456"));
// 修改oidc
result = oidcService.editUser(user);
if (0 != result.getCode()) {
log.info("修改用户业务接口:修改oidc数据失败:{}", result.getMsg());
return result;
}

if (StringUtils.isNotNull(user.getAvatar()) && user.getAvatar().contains(CommonConfig.imageURL)) {
user.setAvatar(user.getAvatar().replaceAll(CommonConfig.imageURL, ""));
} else {
//添加默认头像
user.setAvatar("imagedir/n1o1j9ndau_1670488066287.png");
}
this.buildUser(user);

if (StringUtils.isNotEmpty(user.getMobile())) {
//校验手机号
boolean flag = CommonUtils.isMobile(user.getMobile());
if (!flag) {
return JsonResult.error("该用户手机号格式有误");
}
Integer rowCount = userMapper.updateById(user);
if (rowCount <= 0) {
return JsonResult.error();
}
// user.setTenantId(CurrentUserUtil.getTenantId());
// user.setCityName(selectCityName(user));
// user.setCreateUser(CurrentUserUtil.getUserId());
// user.setCreateTime(DateUtils.now());
//
// result = this.saveOrUpdate(user);
// if (!result) {
// return JsonResult.error();
// }

// // 删除已存在的用户角色关系数据
// userRoleService.deleteUserRole(user.getId());
//
// // 插入用户角色关系数据
// //userRoleService.insertUserRole(entity.getId(), entity.getRoleIds());
// UserRole userRole = new UserRole();
// //租户id
// userRole.setTenantId(user.getTenantId());
// userRole.setUserId(user.getId());
// userRole.setRoleId(user.getRoleId());
// userRoleService.save(userRole);

return JsonResult.success();

}
/**
* 检查参数
@@ -100,15 +70,50 @@ public class UpdateUserService {
* @return
*/
private JsonResult check(String tenantId, User user) {
Integer count = userMapper.selectCount(new LambdaQueryWrapper<User>()
if (StringUtils.isNotEmpty(user.getMobile())) {
//校验手机号
boolean flag = CommonUtils.isMobile(user.getMobile());
if (!flag) {
return JsonResult.error(EditUserCodeEnum.PHONE_NOT_IMATCH.getCode(), EditUserCodeEnum.PHONE_NOT_IMATCH.getMsg());
}
}

User userTmp = userMapper.selectOne(new LambdaQueryWrapper<User>()
.eq(User::getTenantId, tenantId)
.eq(User::getUsername, user.getUsername())
.eq(User::getId, user.getId())
.eq(User::getMark, 1));

if (ObjectUtil.isNull(userTmp)) {
return JsonResult.error("该用户不存在");
}

Integer count = userMapper.selectCount(new LambdaQueryWrapper<User>()
.eq(User::getTenantId, tenantId)
.eq(User::getUsername, user.getUsername())
.eq(User::getMark, 1));
if (count > 0) {
return JsonResult.error("系统中已经存在相同的账号信息");
return JsonResult.error(EditUserCodeEnum.USERNAME_ALREADY_EXISTS.getCode(), EditUserCodeEnum.USERNAME_ALREADY_EXISTS.getMsg());
}

return JsonResult.success();
}
/**
*
* 构建实体字段数据
*
* @param user
*/
private void buildUser(User user) {
if (StringUtils.isNotNull(user.getAvatar()) && user.getAvatar().contains(CommonConfig.imageURL)) {
user.setAvatar(user.getAvatar().replaceAll(CommonConfig.imageURL, ""));
} else {
//添加默认头像
user.setAvatar("imagedir/n1o1j9ndau_1670488066287.png");
}
user.setCityName("");
user.setUpdateUser(CurrentUserUtil.getUserId());
user.setUpdateTime(DateUtils.now());
}


}

+ 72
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/service/user/update/UpdateUserStatusService.java 查看文件

@@ -0,0 +1,72 @@
package com.tuoheng.admin.service.user.update;

import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.enums.code.user.EditUserStatusCodeEnum;
import com.tuoheng.admin.mapper.UserMapper;
import com.tuoheng.admin.service.third.oidc.OidcService;
import com.tuoheng.common.core.utils.JsonResult;
import com.tuoheng.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
* 修改用户状态业务层处理
*
* @author wanjing
* @team tuoheng
* @date 2022-12-16
*/
@Slf4j
@Service
public class UpdateUserStatusService {

@Autowired
private UserMapper userMapper;

@Autowired
private OidcService oidcService;

/**
* 修改用户状态数据
*
* @return
*/
public JsonResult update(String id, Integer status) {
log.info("进入修改用户状态业务接口: id={}, status={}", id, status);
JsonResult result = this.check(id);
if (0 != result.getCode()) {
log.info("修改用户状态业务接口:校验失败:{}", result.getMsg());
return result;
}
User user = User.builder().build().setId(id).setStatus(status);
Integer rowCount = userMapper.updateById(user);
if (rowCount <= 0) {
return JsonResult.error(EditUserStatusCodeEnum.EDIT_IS_FAILED.getCode(), EditUserStatusCodeEnum.EDIT_IS_FAILED.getMsg());
}
return JsonResult.success();
}

/**
* 检查参数
*
* @param id
* @return
*/
private JsonResult check(String id) {
if (StringUtils.isEmpty(id)) {
return JsonResult.error(EditUserStatusCodeEnum.USER_ID_IS_NULL.getCode(), EditUserStatusCodeEnum.USER_ID_IS_NULL.getMsg());
}
User user = userMapper.selectOne(new LambdaQueryWrapper<User>()
.eq(User::getId, id)
.eq(User::getMark, 1));

if (ObjectUtil.isNull(user)) {
return JsonResult.error(EditUserStatusCodeEnum.USER_IS_NOT_EXIST.getCode(), EditUserStatusCodeEnum.USER_IS_NOT_EXIST.getMsg());
}
return JsonResult.success();
}

}

+ 16
- 0
tuoheng-service/tuoheng-admin/src/main/resources/mapper/UserMapper.xml 查看文件

@@ -48,5 +48,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
id, tenant_id, code, realname, nickname, gender, avatar, mobile, email, birthday, dept_id, province_code, city_code, district_code, street_code, address, city_name, username, password, type, driver_type, driver_code, salt, intro, status, note, sort, login_num, login_ip, login_time, create_user, create_time, update_user, update_time, role_id, client_id, mark
</sql>
<update id="updateByIdList" parameterType="hashmap">
update th_oauth_user
<trim prefix="SET" suffixOverrides=",">
<if test="mark != null"> mark = #{mark}, </if>
<if test="updateUser != null and updateUser != ''"> update_user = #{updateUser}, </if>
<if test="updateTime != null"> update_time = #{updateTime}, </if>
</trim>
<where>
<if test="idList != null and idList.size() > 0">
and id in
<foreach collection="idList" item="id" separator="," open="(" close=")">
#{id}
</foreach>
</if>
</where>
</update>
</mapper>

Loading…
取消
儲存