diff --git a/start/pom.xml b/start/pom.xml
index 5348841..9f0bb19 100644
--- a/start/pom.xml
+++ b/start/pom.xml
@@ -39,7 +39,7 @@
org.springframework.boot
spring-boot-maven-plugin
- com.zcloud.risk.Application
+ com.zcloud.basic.info.Application
diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java b/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java
index 7bb7abb..504431b 100644
--- a/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java
+++ b/web-adapter/src/main/java/com/zcloud/basic/info/web/UserController.java
@@ -128,5 +128,13 @@ public class UserController {
userService.importUserTable(file);
return SingleResponse.buildSuccess();
}
+
+
+ @ApiOperation("重置密码")
+ @PostMapping("/changePassword/{id}")
+ public SingleResponse changePassword(@PathVariable Long id){
+ userService.changePassword(id);
+ return SingleResponse.buildSuccess();
+ }
}
diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/ImgFilesRemoveExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/ImgFilesRemoveExe.java
index 6786b3d..5943bc7 100644
--- a/web-app/src/main/java/com/zcloud/basic/info/command/ImgFilesRemoveExe.java
+++ b/web-app/src/main/java/com/zcloud/basic/info/command/ImgFilesRemoveExe.java
@@ -6,7 +6,6 @@ import com.zcloud.basic.info.domain.gateway.ImgFilesGateway;
import com.zcloud.basic.info.domain.model.ImgFilesE;
import com.zcloud.basic.info.persistence.dataobject.ImgFilesDO;
import com.zcloud.basic.info.persistence.repository.ImgFilesRepository;
-import com.zcloud.gbscommon.utils.Smb;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java
index 35cb729..2f4c392 100644
--- a/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java
+++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java
@@ -82,7 +82,8 @@ public class UserUpdateExe {
@Transactional(rollbackFor = Exception.class)
public void executeChangePassword(Long id) {
UserE userE = new UserE();
- userRepository.changePassword(id);
+ userE.resetPassword();
+ userRepository.changePassword(id, userE.getPassword());
}
}
diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java
index 86b9be8..d796164 100644
--- a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java
+++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserQueryExe.java
@@ -92,9 +92,8 @@ public class UserQueryExe {
*/
public Response executeVerifyUser(UserVerifyQryCmd userVerifyQryCmd) {
Map params = PageQueryHelper.toHashMap(userVerifyQryCmd);
- Long count = userGateway.countUserByUsername(params);
- UserE userE = new UserE();
- return userE.verifyUser(count);
+ Response response = userGateway.countUser(params);
+ return response;
}
diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/CorpInfoServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/CorpInfoServiceImpl.java
index 227afd9..fee062c 100644
--- a/web-app/src/main/java/com/zcloud/basic/info/service/CorpInfoServiceImpl.java
+++ b/web-app/src/main/java/com/zcloud/basic/info/service/CorpInfoServiceImpl.java
@@ -76,7 +76,6 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
@Override
public void changePassword(Long id) {
- //TODO 通知GBS修改密码
userUpdateExe.executeChangePassword(id);
}
diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java
index 164e48b..923e2f1 100644
--- a/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java
+++ b/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java
@@ -114,5 +114,10 @@ public class UserServiceImpl implements UserServiceI {
return userQueryExe.executeGetInfoBySession();
}
+ @Override
+ public void changePassword(Long id) {
+ userUpdateExe.executeChangePassword(id);
+ }
+
}
diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java
index 6e3b114..4259296 100644
--- a/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java
+++ b/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java
@@ -48,5 +48,6 @@ public interface UserServiceI {
SingleResponse getInfoBySession();
UserCO getInfoByUserId(Long aLong);
+ void changePassword(Long id);
}
diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/DepartmentAddCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/DepartmentAddCmd.java
index 0b10ef2..f9ad6b3 100644
--- a/web-client/src/main/java/com/zcloud/basic/info/dto/DepartmentAddCmd.java
+++ b/web-client/src/main/java/com/zcloud/basic/info/dto/DepartmentAddCmd.java
@@ -6,7 +6,6 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
-
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
diff --git a/web-client/src/main/java/com/zcloud/basic/info/dto/UserVerifyQryCmd.java b/web-client/src/main/java/com/zcloud/basic/info/dto/UserVerifyQryCmd.java
index 3781682..cf2398c 100644
--- a/web-client/src/main/java/com/zcloud/basic/info/dto/UserVerifyQryCmd.java
+++ b/web-client/src/main/java/com/zcloud/basic/info/dto/UserVerifyQryCmd.java
@@ -15,11 +15,16 @@ import javax.validation.constraints.NotNull;
*/
@Data
public class UserVerifyQryCmd {
- @ApiModelProperty(value = "登录账号", name = "username", required = true)
- @NotEmpty(message = "登录账号不能为空")
- private String username;
+
@ApiModelProperty(value = "用户id", name = "id", required = true)
@NotNull(message = "用户id不能为空")
private Long id;
+ @ApiModelProperty(value = "登录账号", name = "username")
+ private String username;
+ @ApiModelProperty(value = "手机号", name = "phone")
+ private String phone;
+
+ @ApiModelProperty(value = "身份证号", name = "userIdCard")
+ private String userIdCard;
}
diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserGateway.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserGateway.java
index 1a2fec3..febe628 100644
--- a/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserGateway.java
+++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserGateway.java
@@ -1,6 +1,7 @@
package com.zcloud.basic.info.domain.gateway;
+import com.alibaba.cola.dto.Response;
import com.zcloud.basic.info.domain.model.UserE;
import java.util.Map;
@@ -30,6 +31,6 @@ public interface UserGateway {
Boolean deletedUserByIds(Long[] id);
- Long countUserByUsername(Map params);
+ Response countUser(Map params);
}
diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/CorpInfoE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/CorpInfoE.java
index e9625c9..984682a 100644
--- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/CorpInfoE.java
+++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/CorpInfoE.java
@@ -162,6 +162,8 @@ public class CorpInfoE extends BaseE {
private Integer whetherLiquidammoniaFlag;
// 父级租户id
private final Long parentTenantId = 1989259383784415232L;
+ // sm2公钥
+ private final String publicKey = "0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee";
// 默认密码
private final String defaultPassword = "Aa12345678";
// 密码
@@ -169,9 +171,7 @@ public class CorpInfoE extends BaseE {
public void initPassWord() throws Exception {
- String publicKey = "0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee";
String encrypt = Sm2Util.encryptHex(MD5.md5(defaultPassword), publicKey);
-
this.setPassword(encrypt);
}
diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/ImgFilesE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/ImgFilesE.java
index 810156d..6213de7 100644
--- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/ImgFilesE.java
+++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/ImgFilesE.java
@@ -2,7 +2,7 @@ package com.zcloud.basic.info.domain.model;
import com.jjb.saas.framework.domain.model.BaseE;
import com.zcloud.gbscommon.utils.*;
-//import com.zcloud.gbscommon.utils.Smb;
+import com.zcloud.basic.info.domain.utils.Smb;
import lombok.Data;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.util.ObjectUtils;
diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java
index 4e0d205..2b466d7 100644
--- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java
+++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/UserE.java
@@ -9,6 +9,8 @@ import com.zcloud.basic.info.domain.enums.CorpTypeEnum;
import com.zcloud.gbscommon.excelEntity.UserExcelExportEntity;
import com.zcloud.gbscommon.excelEntity.UserExcelImportEntity;
import com.zcloud.gbscommon.utils.ExcelUtils;
+import com.zcloud.gbscommon.utils.MD5;
+import com.zcloud.gbscommon.utils.Sm2Util;
import com.zcloud.gbscommon.utils.Tools;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -129,6 +131,12 @@ public class UserE extends BaseE {
private String password;
// 入职状态
private Integer employmentFlag;
+ // 父级租户id
+ private final Long parentTenantId = 1989259383784415232L;
+ // 默认密码
+ private final String defaultPassword = "Aa12345678";
+
+ private final String publicKey = "0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee";
public void initAdd(Long tenantId, UserE userE) {
@@ -138,13 +146,6 @@ public class UserE extends BaseE {
userE.setEmploymentFlag(1);
userE.setPassword("Aa@123456789");
}
- public Response verifyUser(Long userCount) {
- if (userCount > 0) {
- return Response.buildFailure("用户名已经存在,请联系管理员");
- } else {
- return Response.buildSuccess();
- }
- }
/**
* 人员修改过程中,是否存在转岗、入职离职
@@ -342,5 +343,9 @@ public class UserE extends BaseE {
}
}
+ public void resetPassword() {
+ String encrypt = Sm2Util.encryptHex(MD5.md5(defaultPassword), publicKey);
+ this.setPassword(encrypt);
+ }
}
diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java
index 9c48b65..ae54429 100644
--- a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java
+++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java
@@ -1,5 +1,6 @@
package com.zcloud.basic.info.gatewayimpl;
+import com.alibaba.cola.dto.Response;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
@@ -8,6 +9,7 @@ import com.zcloud.basic.info.persistence.repository.UserRepository;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
import java.util.Arrays;
import java.util.Map;
@@ -50,9 +52,8 @@ public class UserGatewayImpl implements UserGateway {
}
@Override
- public Long countUserByUsername(Map params) {
- Long userCount = userRepository.countUserByUsername(params);
- return userCount;
+ public Response countUser(Map params) {
+ return userRepository.countUser(params);
}
}
diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java
index 8bd8b9b..46eb3b9 100644
--- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java
+++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/mapper/UserMapper.java
@@ -26,5 +26,7 @@ public interface UserMapper extends BaseMapper {
UserDO getInfoById(@Param("id") Long id);
List getDepartmentLeaderByDepartmentId(List departmentIds);
+
+ Integer countUser(@Param("params") Map params);
}
diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java
index 918eb35..691bffc 100644
--- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java
+++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserRepository.java
@@ -2,6 +2,7 @@ package com.zcloud.basic.info.persistence.repository;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
import com.baomidou.mybatisplus.core.injector.methods.UpdateById;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.basic.info.domain.model.CorpInfoE;
@@ -29,7 +30,7 @@ public interface UserRepository extends BaseRepository {
Boolean checkUserDepartment(Long[] ids);
UserDO getInfoById(Long id);
- Long countUserByUsername(Map params);
+ Response countUser(Map params);
List listByPostId(Long postId);
List listByPostIds(Long[] postIds);
@@ -44,7 +45,7 @@ public interface UserRepository extends BaseRepository {
void deleteUserById(Long id);
- void changePassword(Long id);
+ void changePassword(Long id, String password);
void updateUserName(UserDO userDO);
diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java
index d5a9e2b..2e7418b 100644
--- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java
+++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java
@@ -37,6 +37,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -114,11 +115,36 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i
}
@Override
- public Long countUserByUsername(Map params) {
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("username", params.get("username"));
- queryWrapper.ne("id", params.get("id"));
- return userMapper.selectCount(queryWrapper);
+ public Response countUser(Map params) {
+ if (!ObjectUtils.isEmpty(params.get("username"))){
+ Map verifyParam = new HashMap<>();
+ verifyParam.put("username", params.get("username"));
+ verifyParam.put("id", params.get("id"));
+ Integer count = userMapper.countUser(verifyParam);
+ if (count > 0) {
+ return Response.buildFailure("用户名已经存在,请联系管理员");
+ }
+ }
+ if (!ObjectUtils.isEmpty(params.get("phone"))){
+ Map verifyParam = new HashMap<>();
+ verifyParam.put("phone", params.get("phone"));
+ verifyParam.put("id", params.get("id"));
+ Integer count = userMapper.countUser(verifyParam);
+ if (count > 0) {
+ return Response.buildFailure("手机号已经存在,请联系管理员");
+ }
+ }
+ if (!ObjectUtils.isEmpty(params.get("userIdCard"))){
+ Map verifyParam = new HashMap<>();
+ verifyParam.put("userIdCard", params.get("userIdCard"));
+ verifyParam.put("id", params.get("id"));
+ Integer count = userMapper.countUser(verifyParam);
+ if (count > 0) {
+ return Response.buildFailure("身份证号已经存在,请联系管理员");
+ }
+ }
+
+ return Response.buildSuccess();
}
@Override
@@ -196,10 +222,10 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i
}
@Override
- public void changePassword(Long id) {
+ public void changePassword(Long id, String password) {
UserUpdatePasswordCmd userUpdatePasswordCmd = new UserUpdatePasswordCmd();
userUpdatePasswordCmd.setId(id);
- userUpdatePasswordCmd.setPassword(Tools.get32UUID());
+ userUpdatePasswordCmd.setPassword(password);
userFacade.updatePassword(userUpdatePasswordCmd);
}
diff --git a/web-infrastructure/src/main/resources/mapper/UserMapper.xml b/web-infrastructure/src/main/resources/mapper/UserMapper.xml
index 3f54c3e..38ba10b 100644
--- a/web-infrastructure/src/main/resources/mapper/UserMapper.xml
+++ b/web-infrastructure/src/main/resources/mapper/UserMapper.xml
@@ -216,5 +216,20 @@
+
+