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 @@ + +